linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
@ 2021-04-06  9:07 Zhang Jianhua
  2021-04-06 10:21 ` Robert Foss
  0 siblings, 1 reply; 7+ messages in thread
From: Zhang Jianhua @ 2021-04-06  9:07 UTC (permalink / raw)
  To: a.hajda, narmstrong, robert.foss, Laurent.pinchart, jonas,
	jernej.skrabec, airlied, daniel
  Cc: dri-devel, linux-kernel, johnny.chenyi, zhangjianhua18, heying24

If CONFIG_DRM_LONTIUM_LT8912B=y, the following errors will be seen while
compiling lontium-lt8912b.c

drivers/gpu/drm/bridge/lontium-lt8912b.c: In function
‘lt8912_hard_power_on’:
drivers/gpu/drm/bridge/lontium-lt8912b.c:252:2: error: implicit
declaration of function ‘gpiod_set_value_cansleep’; did you mean
‘gpio_set_value_cansleep’? [-Werror=implicit-function-declaration]
  gpiod_set_value_cansleep(lt->gp_reset, 0);
  ^~~~~~~~~~~~~~~~~~~~~~~~
  gpio_set_value_cansleep
drivers/gpu/drm/bridge/lontium-lt8912b.c: In function ‘lt8912_parse_dt’:
drivers/gpu/drm/bridge/lontium-lt8912b.c:628:13: error: implicit
declaration of function ‘devm_gpiod_get_optional’; did you mean
‘devm_gpio_request_one’? [-Werror=implicit-function-declaration]
  gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
             ^~~~~~~~~~~~~~~~~~~~~~~
             devm_gpio_request_one
drivers/gpu/drm/bridge/lontium-lt8912b.c:628:51: error: ‘GPIOD_OUT_HIGH’
undeclared (first use in this function); did you mean ‘GPIOF_INIT_HIGH’?
  gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
                                                   ^~~~~~~~~~~~~~
                                                   GPIOF_INIT_HIGH

Signed-off-by: Zhang Jianhua <zhangjianhua18@huawei.com>
---
 drivers/gpu/drm/bridge/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
index dba62f92d051..caa9658ec933 100644
--- a/drivers/gpu/drm/bridge/Kconfig
+++ b/drivers/gpu/drm/bridge/Kconfig
@@ -67,6 +67,7 @@ config DRM_LONTIUM_LT8912B
 	select DRM_PANEL_BRIDGE
 	select DRM_KMS_HELPER
 	select REGMAP_I2C
+	select GPIOLIB
 	help
 	  Driver for Lontium LT8912B DSI to HDMI bridge
 	  chip driver.
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-06  9:07 [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB Zhang Jianhua
@ 2021-04-06 10:21 ` Robert Foss
  2021-04-07  7:50   ` zhangjianhua (E)
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Foss @ 2021-04-06 10:21 UTC (permalink / raw)
  To: Zhang Jianhua
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

Hey Zhang

On Tue, 6 Apr 2021 at 11:07, Zhang Jianhua <zhangjianhua18@huawei.com> wrote:
>
> If CONFIG_DRM_LONTIUM_LT8912B=y, the following errors will be seen while
> compiling lontium-lt8912b.c
>
> drivers/gpu/drm/bridge/lontium-lt8912b.c: In function
> ‘lt8912_hard_power_on’:
> drivers/gpu/drm/bridge/lontium-lt8912b.c:252:2: error: implicit
> declaration of function ‘gpiod_set_value_cansleep’; did you mean
> ‘gpio_set_value_cansleep’? [-Werror=implicit-function-declaration]
>   gpiod_set_value_cansleep(lt->gp_reset, 0);
>   ^~~~~~~~~~~~~~~~~~~~~~~~
>   gpio_set_value_cansleep
> drivers/gpu/drm/bridge/lontium-lt8912b.c: In function ‘lt8912_parse_dt’:
> drivers/gpu/drm/bridge/lontium-lt8912b.c:628:13: error: implicit
> declaration of function ‘devm_gpiod_get_optional’; did you mean
> ‘devm_gpio_request_one’? [-Werror=implicit-function-declaration]
>   gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
>              ^~~~~~~~~~~~~~~~~~~~~~~
>              devm_gpio_request_one
> drivers/gpu/drm/bridge/lontium-lt8912b.c:628:51: error: ‘GPIOD_OUT_HIGH’
> undeclared (first use in this function); did you mean ‘GPIOF_INIT_HIGH’?
>   gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
>                                                    ^~~~~~~~~~~~~~
>                                                    GPIOF_INIT_HIGH
>
> Signed-off-by: Zhang Jianhua <zhangjianhua18@huawei.com>
> ---
>  drivers/gpu/drm/bridge/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
> index dba62f92d051..caa9658ec933 100644
> --- a/drivers/gpu/drm/bridge/Kconfig
> +++ b/drivers/gpu/drm/bridge/Kconfig
> @@ -67,6 +67,7 @@ config DRM_LONTIUM_LT8912B
>         select DRM_PANEL_BRIDGE
>         select DRM_KMS_HELPER
>         select REGMAP_I2C
> +       select GPIOLIB

This appears like the right fix for this problem. However, a number of
drm/bridge drivers seem to call both gpio_set_value_cansleep() and
devm_gpiod_get_optional() without having the GPIOLIB kconfig option
selected so this can't be a new issue. Maybe some more investigation
is in order.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-06 10:21 ` Robert Foss
@ 2021-04-07  7:50   ` zhangjianhua (E)
  2021-04-07  8:03     ` Robert Foss
  0 siblings, 1 reply; 7+ messages in thread
From: zhangjianhua (E) @ 2021-04-07  7:50 UTC (permalink / raw)
  To: Robert Foss
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

Hi Robert

Yes, you are right, there are many files reference 
gpiod_set_value_cansleep() and

devm_gpiod_get_optional(). How about add config dependencies for all 
releated

configs or only add config dependencies for the top level config?


Best regards

Zhang Jianhua

在 2021/4/6 18:21, Robert Foss 写道:
> Hey Zhang
>
> On Tue, 6 Apr 2021 at 11:07, Zhang Jianhua <zhangjianhua18@huawei.com> wrote:
>> If CONFIG_DRM_LONTIUM_LT8912B=y, the following errors will be seen while
>> compiling lontium-lt8912b.c
>>
>> drivers/gpu/drm/bridge/lontium-lt8912b.c: In function
>> ‘lt8912_hard_power_on’:
>> drivers/gpu/drm/bridge/lontium-lt8912b.c:252:2: error: implicit
>> declaration of function ‘gpiod_set_value_cansleep’; did you mean
>> ‘gpio_set_value_cansleep’? [-Werror=implicit-function-declaration]
>>    gpiod_set_value_cansleep(lt->gp_reset, 0);
>>    ^~~~~~~~~~~~~~~~~~~~~~~~
>>    gpio_set_value_cansleep
>> drivers/gpu/drm/bridge/lontium-lt8912b.c: In function ‘lt8912_parse_dt’:
>> drivers/gpu/drm/bridge/lontium-lt8912b.c:628:13: error: implicit
>> declaration of function ‘devm_gpiod_get_optional’; did you mean
>> ‘devm_gpio_request_one’? [-Werror=implicit-function-declaration]
>>    gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
>>               ^~~~~~~~~~~~~~~~~~~~~~~
>>               devm_gpio_request_one
>> drivers/gpu/drm/bridge/lontium-lt8912b.c:628:51: error: ‘GPIOD_OUT_HIGH’
>> undeclared (first use in this function); did you mean ‘GPIOF_INIT_HIGH’?
>>    gp_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
>>                                                     ^~~~~~~~~~~~~~
>>                                                     GPIOF_INIT_HIGH
>>
>> Signed-off-by: Zhang Jianhua <zhangjianhua18@huawei.com>
>> ---
>>   drivers/gpu/drm/bridge/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
>> index dba62f92d051..caa9658ec933 100644
>> --- a/drivers/gpu/drm/bridge/Kconfig
>> +++ b/drivers/gpu/drm/bridge/Kconfig
>> @@ -67,6 +67,7 @@ config DRM_LONTIUM_LT8912B
>>          select DRM_PANEL_BRIDGE
>>          select DRM_KMS_HELPER
>>          select REGMAP_I2C
>> +       select GPIOLIB
> This appears like the right fix for this problem. However, a number of
> drm/bridge drivers seem to call both gpio_set_value_cansleep() and
> devm_gpiod_get_optional() without having the GPIOLIB kconfig option
> selected so this can't be a new issue. Maybe some more investigation
> is in order.
> .

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-07  7:50   ` zhangjianhua (E)
@ 2021-04-07  8:03     ` Robert Foss
  2021-04-07  9:50       ` zhangjianhua (E)
  0 siblings, 1 reply; 7+ messages in thread
From: Robert Foss @ 2021-04-07  8:03 UTC (permalink / raw)
  To: zhangjianhua (E)
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

> Yes, you are right, there are many files reference
> gpiod_set_value_cansleep() and
>
> devm_gpiod_get_optional(). How about add config dependencies for all
> releated

I think this is the way to go and roughly half of the drm bridge
drivers seem to need this change.

Do you mind submitting a series of patches adding this fix for all of
the relevant bridge drivers?

>
> configs or only add config dependencies for the top level config?
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-07  8:03     ` Robert Foss
@ 2021-04-07  9:50       ` zhangjianhua (E)
  2021-04-08  7:10         ` zhangjianhua (E)
  0 siblings, 1 reply; 7+ messages in thread
From: zhangjianhua (E) @ 2021-04-07  9:50 UTC (permalink / raw)
  To: Robert Foss
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

Thanks, I will do that.

在 2021/4/7 16:03, Robert Foss 写道:
>> Yes, you are right, there are many files reference
>> gpiod_set_value_cansleep() and
>>
>> devm_gpiod_get_optional(). How about add config dependencies for all
>> releated
> I think this is the way to go and roughly half of the drm bridge
> drivers seem to need this change.
>
> Do you mind submitting a series of patches adding this fix for all of
> the relevant bridge drivers?
>
>> configs or only add config dependencies for the top level config?
>>
> .

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-07  9:50       ` zhangjianhua (E)
@ 2021-04-08  7:10         ` zhangjianhua (E)
  2021-04-08  8:22           ` Robert Foss
  0 siblings, 1 reply; 7+ messages in thread
From: zhangjianhua (E) @ 2021-04-08  7:10 UTC (permalink / raw)
  To: Robert Foss
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

Hello Robert

I am sorry that I make a mistake about the compiling error of lt8912b,

the reason is that lt8912b miss the header file <linux/gpio/consumer.h>.

Although there are many files reference gpiod_set_value_cansleep() and

devm_gpiod_get_optional(), they all include <linux/gpio/consumer.h>

and not occur the compiling error like lt8912b. I have send the second

version patch, please read.


Best regards,

Zhang Jianhua

在 2021/4/7 17:50, zhangjianhua (E) 写道:
> Thanks, I will do that.
>
> 在 2021/4/7 16:03, Robert Foss 写道:
>>> Yes, you are right, there are many files reference
>>> gpiod_set_value_cansleep() and
>>>
>>> devm_gpiod_get_optional(). How about add config dependencies for all
>>> releated
>> I think this is the way to go and roughly half of the drm bridge
>> drivers seem to need this change.
>>
>> Do you mind submitting a series of patches adding this fix for all of
>> the relevant bridge drivers?
>>
>>> configs or only add config dependencies for the top level config?
>>>
>> .

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB
  2021-04-08  7:10         ` zhangjianhua (E)
@ 2021-04-08  8:22           ` Robert Foss
  0 siblings, 0 replies; 7+ messages in thread
From: Robert Foss @ 2021-04-08  8:22 UTC (permalink / raw)
  To: zhangjianhua (E)
  Cc: Andrzej Hajda, Neil Armstrong, Laurent Pinchart, Jonas Karlman,
	Jernej Skrabec, David Airlie, Daniel Vetter, dri-devel,
	linux-kernel, johnny.chenyi, heying24

Hey Zhang,

On Thu, 8 Apr 2021 at 09:10, zhangjianhua (E) <zhangjianhua18@huawei.com> wrote:
>
> Hello Robert
>
> I am sorry that I make a mistake about the compiling error of lt8912b,
>
> the reason is that lt8912b miss the header file <linux/gpio/consumer.h>.
>
> Although there are many files reference gpiod_set_value_cansleep() and
>
> devm_gpiod_get_optional(), they all include <linux/gpio/consumer.h>
>
> and not occur the compiling error like lt8912b. I have send the second
>
> version patch, please read.

No worries at all, and good job finding the real issue. I'll have a
look at the next version.

Rob.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-04-08  8:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06  9:07 [PATCH -next] drm/bridge: lt8912b: DRM_LONTIUM_LT8912B select GPIOLIB Zhang Jianhua
2021-04-06 10:21 ` Robert Foss
2021-04-07  7:50   ` zhangjianhua (E)
2021-04-07  8:03     ` Robert Foss
2021-04-07  9:50       ` zhangjianhua (E)
2021-04-08  7:10         ` zhangjianhua (E)
2021-04-08  8:22           ` Robert Foss

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).