linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] usb: typec: qcom-pmic-typec: enable DP support
@ 2023-07-09 20:13 Dmitry Baryshkov
  2023-07-09 20:13 ` [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases Dmitry Baryshkov
  2023-07-09 20:13 ` [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge Dmitry Baryshkov
  0 siblings, 2 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-07-09 20:13 UTC (permalink / raw)
  To: Heikki Krogerus, Greg Kroah-Hartman, Bryan O'Donoghue,
	Guenter Roeck, Andy Gross, Bjorn Andersson, Konrad Dybcio
  Cc: linux-usb, linux-kernel, linux-arm-msm

To enable DisplayPort on the platforms supported by qcom-pmic-typec
driver, we need to register a corresponding drm_bridge for this device
and also be able to send the OOB hotplug event to the corresponding DRM
connector. All this is implemented by [1], but there is no direct
dependency on that patchset.

[1] https://patchwork.freedesktop.org/series/120393/

Changes since v1:
- Properly handle CONFIG_DRM dependency. Disallow building DRM as a
  module if qcom-pmic-typec driver is built-in (Bryan).

Dmitry Baryshkov (2):
  usb: typec: altmodes/displayport: add support for embedded DP cases
  usb: typec: qcom-pmic-typec: register drm_bridge

 drivers/usb/typec/altmodes/displayport.c      |  5 ++-
 drivers/usb/typec/tcpm/Kconfig                |  1 +
 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

-- 
2.39.2


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

* [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases
  2023-07-09 20:13 [PATCH v2 0/2] usb: typec: qcom-pmic-typec: enable DP support Dmitry Baryshkov
@ 2023-07-09 20:13 ` Dmitry Baryshkov
  2023-07-10  4:58   ` Bjorn Andersson
  2023-07-09 20:13 ` [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge Dmitry Baryshkov
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-07-09 20:13 UTC (permalink / raw)
  To: Heikki Krogerus, Greg Kroah-Hartman, Bryan O'Donoghue,
	Guenter Roeck, Andy Gross, Bjorn Andersson, Konrad Dybcio
  Cc: linux-usb, linux-kernel, linux-arm-msm

In the embedded cases, the DisplayPort connector is handled by the TCPM
itself. Fallback to the controller fwnode for HPD notifications to
support such usecases without requiring additional DT properties.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/usb/typec/altmodes/displayport.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
index 4e5aa17ce4c8..699438c7755e 100644
--- a/drivers/usb/typec/altmodes/displayport.c
+++ b/drivers/usb/typec/altmodes/displayport.c
@@ -578,7 +578,10 @@ int dp_altmode_probe(struct typec_altmode *alt)
 	alt->ops = &dp_altmode_ops;
 
 	fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */
-	dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
+	if (fwnode_property_present(fwnode, "displayport"))
+		dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
+	else
+		dp->connector_fwnode = fwnode_handle_get(fwnode); /* embedded DP */
 	if (IS_ERR(dp->connector_fwnode))
 		dp->connector_fwnode = NULL;
 
-- 
2.39.2


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

* [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge
  2023-07-09 20:13 [PATCH v2 0/2] usb: typec: qcom-pmic-typec: enable DP support Dmitry Baryshkov
  2023-07-09 20:13 ` [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases Dmitry Baryshkov
@ 2023-07-09 20:13 ` Dmitry Baryshkov
  2023-07-10 10:02   ` Bryan O'Donoghue
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-07-09 20:13 UTC (permalink / raw)
  To: Heikki Krogerus, Greg Kroah-Hartman, Bryan O'Donoghue,
	Guenter Roeck, Andy Gross, Bjorn Andersson, Konrad Dybcio
  Cc: linux-usb, linux-kernel, linux-arm-msm

The current approach to handling DP on bridge-enabled platforms requires
a chain of DP bridges up to the USB-C connector. Register a last DRM
bridge for such chain.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/usb/typec/tcpm/Kconfig                |  1 +
 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
index 5d393f520fc2..0b2993fef564 100644
--- a/drivers/usb/typec/tcpm/Kconfig
+++ b/drivers/usb/typec/tcpm/Kconfig
@@ -79,6 +79,7 @@ config TYPEC_WCOVE
 config TYPEC_QCOM_PMIC
 	tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
 	depends on ARCH_QCOM || COMPILE_TEST
+	depends on DRM || DRM=n
 	help
 	  A Type-C port and Power Delivery driver which aggregates two
 	  discrete pieces of silicon in the PM8150b PMIC block: the
diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
index a905160dd860..0722fb8d75c4 100644
--- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
+++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
@@ -17,6 +17,9 @@
 #include <linux/usb/role.h>
 #include <linux/usb/tcpm.h>
 #include <linux/usb/typec_mux.h>
+
+#include <drm/drm_bridge.h>
+
 #include "qcom_pmic_typec_pdphy.h"
 #include "qcom_pmic_typec_port.h"
 
@@ -33,6 +36,9 @@ struct pmic_typec {
 	struct pmic_typec_port	*pmic_typec_port;
 	bool			vbus_enabled;
 	struct mutex		lock;		/* VBUS state serialization */
+#ifdef CONFIG_DRM
+	struct drm_bridge	bridge;
+#endif
 };
 
 #define tcpc_to_tcpm(_tcpc_) container_of(_tcpc_, struct pmic_typec, tcpc)
@@ -146,6 +152,35 @@ static int qcom_pmic_typec_init(struct tcpc_dev *tcpc)
 	return 0;
 }
 
+#ifdef CONFIG_DRM
+static int qcom_pmic_typec_attach(struct drm_bridge *bridge,
+				     enum drm_bridge_attach_flags flags)
+{
+	return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL;
+}
+
+static const struct drm_bridge_funcs qcom_pmic_typec_bridge_funcs = {
+	.attach = qcom_pmic_typec_attach,
+};
+
+static int qcom_pmic_typec_init_drm(struct pmic_typec *tcpm)
+{
+	tcpm->bridge.funcs = &qcom_pmic_typec_bridge_funcs;
+#if CONFIG_OF
+	tcpm->bridge.of_node = of_get_child_by_name(tcpm->dev->of_node, "connector");
+#endif
+	tcpm->bridge.ops = DRM_BRIDGE_OP_HPD;
+	tcpm->bridge.type = DRM_MODE_CONNECTOR_USB;
+
+	return devm_drm_bridge_add(tcpm->dev, &tcpm->bridge);
+}
+#else
+static int qcom_pmic_typec_init_drm(struct pmic_typec *tcpm)
+{
+	return 0;
+}
+#endif
+
 static int qcom_pmic_typec_probe(struct platform_device *pdev)
 {
 	struct pmic_typec *tcpm;
@@ -208,6 +243,10 @@ static int qcom_pmic_typec_probe(struct platform_device *pdev)
 	mutex_init(&tcpm->lock);
 	platform_set_drvdata(pdev, tcpm);
 
+	ret = qcom_pmic_typec_init_drm(tcpm);
+	if (ret)
+		return ret;
+
 	tcpm->tcpc.fwnode = device_get_named_child_node(tcpm->dev, "connector");
 	if (IS_ERR(tcpm->tcpc.fwnode))
 		return PTR_ERR(tcpm->tcpc.fwnode);
-- 
2.39.2


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

* Re: [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases
  2023-07-09 20:13 ` [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases Dmitry Baryshkov
@ 2023-07-10  4:58   ` Bjorn Andersson
  0 siblings, 0 replies; 8+ messages in thread
From: Bjorn Andersson @ 2023-07-10  4:58 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Heikki Krogerus, Greg Kroah-Hartman, Bryan O'Donoghue,
	Guenter Roeck, Andy Gross, Konrad Dybcio, linux-usb, linux-kernel,
	linux-arm-msm

On Sun, Jul 09, 2023 at 11:13:08PM +0300, Dmitry Baryshkov wrote:
> In the embedded cases, the DisplayPort connector is handled by the TCPM
> itself. Fallback to the controller fwnode for HPD notifications to
> support such usecases without requiring additional DT properties.
> 

More specific, the proposal of adding the "displayport" reference to the
DeviceTree binding was rejected, in favour of properly describing the
electrical signal path using of_graph.

Regards,
Bjorn

> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  drivers/usb/typec/altmodes/displayport.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/typec/altmodes/displayport.c b/drivers/usb/typec/altmodes/displayport.c
> index 4e5aa17ce4c8..699438c7755e 100644
> --- a/drivers/usb/typec/altmodes/displayport.c
> +++ b/drivers/usb/typec/altmodes/displayport.c
> @@ -578,7 +578,10 @@ int dp_altmode_probe(struct typec_altmode *alt)
>  	alt->ops = &dp_altmode_ops;
>  
>  	fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */
> -	dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
> +	if (fwnode_property_present(fwnode, "displayport"))
> +		dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0);
> +	else
> +		dp->connector_fwnode = fwnode_handle_get(fwnode); /* embedded DP */
>  	if (IS_ERR(dp->connector_fwnode))
>  		dp->connector_fwnode = NULL;
>  
> -- 
> 2.39.2
> 

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

* Re: [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge
  2023-07-09 20:13 ` [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge Dmitry Baryshkov
@ 2023-07-10 10:02   ` Bryan O'Donoghue
  2023-07-10 10:04     ` Konrad Dybcio
  0 siblings, 1 reply; 8+ messages in thread
From: Bryan O'Donoghue @ 2023-07-10 10:02 UTC (permalink / raw)
  To: Dmitry Baryshkov, Heikki Krogerus, Greg Kroah-Hartman,
	Guenter Roeck, Andy Gross, Bjorn Andersson, Konrad Dybcio
  Cc: linux-usb, linux-kernel, linux-arm-msm

On 09/07/2023 21:13, Dmitry Baryshkov wrote:
> The current approach to handling DP on bridge-enabled platforms requires
> a chain of DP bridges up to the USB-C connector. Register a last DRM
> bridge for such chain.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/usb/typec/tcpm/Kconfig                |  1 +
>   drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
>   2 files changed, 40 insertions(+)
> 
> diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
> index 5d393f520fc2..0b2993fef564 100644
> --- a/drivers/usb/typec/tcpm/Kconfig
> +++ b/drivers/usb/typec/tcpm/Kconfig
> @@ -79,6 +79,7 @@ config TYPEC_WCOVE
>   config TYPEC_QCOM_PMIC
>   	tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
>   	depends on ARCH_QCOM || COMPILE_TEST
> +	depends on DRM || DRM=n
>   	help
>   	  A Type-C port and Power Delivery driver which aggregates two
>   	  discrete pieces of silicon in the PM8150b PMIC block: the
> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> index a905160dd860..0722fb8d75c4 100644
> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> @@ -17,6 +17,9 @@
>   #include <linux/usb/role.h>
>   #include <linux/usb/tcpm.h>
>   #include <linux/usb/typec_mux.h>
> +
> +#include <drm/drm_bridge.h>
> +
>   #include "qcom_pmic_typec_pdphy.h"
>   #include "qcom_pmic_typec_port.h"
>   
> @@ -33,6 +36,9 @@ struct pmic_typec {
>   	struct pmic_typec_port	*pmic_typec_port;
>   	bool			vbus_enabled;
>   	struct mutex		lock;		/* VBUS state serialization */
> +#ifdef CONFIG_DRM
> +	struct drm_bridge	bridge;
> +#endif

IMO there's no reason to ifdef the structure. Its up to you if you want 
to change it nor not, I have no strong feelings about it.

Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

---
bod

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

* Re: [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge
  2023-07-10 10:02   ` Bryan O'Donoghue
@ 2023-07-10 10:04     ` Konrad Dybcio
  2023-07-10 10:57       ` Dmitry Baryshkov
  0 siblings, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2023-07-10 10:04 UTC (permalink / raw)
  To: Bryan O'Donoghue, Dmitry Baryshkov, Heikki Krogerus,
	Greg Kroah-Hartman, Guenter Roeck, Andy Gross, Bjorn Andersson
  Cc: linux-usb, linux-kernel, linux-arm-msm

On 10.07.2023 12:02, Bryan O'Donoghue wrote:
> On 09/07/2023 21:13, Dmitry Baryshkov wrote:
>> The current approach to handling DP on bridge-enabled platforms requires
>> a chain of DP bridges up to the USB-C connector. Register a last DRM
>> bridge for such chain.
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   drivers/usb/typec/tcpm/Kconfig                |  1 +
>>   drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
>>   2 files changed, 40 insertions(+)
>>
>> diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
>> index 5d393f520fc2..0b2993fef564 100644
>> --- a/drivers/usb/typec/tcpm/Kconfig
>> +++ b/drivers/usb/typec/tcpm/Kconfig
>> @@ -79,6 +79,7 @@ config TYPEC_WCOVE
>>   config TYPEC_QCOM_PMIC
>>       tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
>>       depends on ARCH_QCOM || COMPILE_TEST
>> +    depends on DRM || DRM=n
>>       help
>>         A Type-C port and Power Delivery driver which aggregates two
>>         discrete pieces of silicon in the PM8150b PMIC block: the
>> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
>> index a905160dd860..0722fb8d75c4 100644
>> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
>> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
>> @@ -17,6 +17,9 @@
>>   #include <linux/usb/role.h>
>>   #include <linux/usb/tcpm.h>
>>   #include <linux/usb/typec_mux.h>
>> +
>> +#include <drm/drm_bridge.h>
>> +
>>   #include "qcom_pmic_typec_pdphy.h"
>>   #include "qcom_pmic_typec_port.h"
>>   @@ -33,6 +36,9 @@ struct pmic_typec {
>>       struct pmic_typec_port    *pmic_typec_port;
>>       bool            vbus_enabled;
>>       struct mutex        lock;        /* VBUS state serialization */
>> +#ifdef CONFIG_DRM
>> +    struct drm_bridge    bridge;
>> +#endif
> 
> IMO there's no reason to ifdef the structure. Its up to you if you want to change it nor not, I have no strong feelings about it.
+1, there's no ifdefs in the drm_bridge.h header that would make this not compile

Konrad
> 
> Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> 
> ---
> bod

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

* Re: [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge
  2023-07-10 10:04     ` Konrad Dybcio
@ 2023-07-10 10:57       ` Dmitry Baryshkov
  2023-07-10 13:31         ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry Baryshkov @ 2023-07-10 10:57 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bryan O'Donoghue, Heikki Krogerus, Greg Kroah-Hartman,
	Guenter Roeck, Andy Gross, Bjorn Andersson, linux-usb,
	linux-kernel, linux-arm-msm

On Mon, 10 Jul 2023 at 13:04, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> On 10.07.2023 12:02, Bryan O'Donoghue wrote:
> > On 09/07/2023 21:13, Dmitry Baryshkov wrote:
> >> The current approach to handling DP on bridge-enabled platforms requires
> >> a chain of DP bridges up to the USB-C connector. Register a last DRM
> >> bridge for such chain.
> >>
> >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> >> ---
> >>   drivers/usb/typec/tcpm/Kconfig                |  1 +
> >>   drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
> >>   2 files changed, 40 insertions(+)
> >>
> >> diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
> >> index 5d393f520fc2..0b2993fef564 100644
> >> --- a/drivers/usb/typec/tcpm/Kconfig
> >> +++ b/drivers/usb/typec/tcpm/Kconfig
> >> @@ -79,6 +79,7 @@ config TYPEC_WCOVE
> >>   config TYPEC_QCOM_PMIC
> >>       tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
> >>       depends on ARCH_QCOM || COMPILE_TEST
> >> +    depends on DRM || DRM=n
> >>       help
> >>         A Type-C port and Power Delivery driver which aggregates two
> >>         discrete pieces of silicon in the PM8150b PMIC block: the
> >> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> >> index a905160dd860..0722fb8d75c4 100644
> >> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> >> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> >> @@ -17,6 +17,9 @@
> >>   #include <linux/usb/role.h>
> >>   #include <linux/usb/tcpm.h>
> >>   #include <linux/usb/typec_mux.h>
> >> +
> >> +#include <drm/drm_bridge.h>
> >> +
> >>   #include "qcom_pmic_typec_pdphy.h"
> >>   #include "qcom_pmic_typec_port.h"
> >>   @@ -33,6 +36,9 @@ struct pmic_typec {
> >>       struct pmic_typec_port    *pmic_typec_port;
> >>       bool            vbus_enabled;
> >>       struct mutex        lock;        /* VBUS state serialization */
> >> +#ifdef CONFIG_DRM
> >> +    struct drm_bridge    bridge;
> >> +#endif
> >
> > IMO there's no reason to ifdef the structure. Its up to you if you want to change it nor not, I have no strong feelings about it.
> +1, there's no ifdefs in the drm_bridge.h header that would make this not compile

It is quite typical to idef unused structure fields. For example
OF-related fields are frequently ifdef'ed.
Let's see what the maintainers will say.

>
> Konrad
> >
> > Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> >
> > ---
> > bod



-- 
With best wishes
Dmitry

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

* Re: [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge
  2023-07-10 10:57       ` Dmitry Baryshkov
@ 2023-07-10 13:31         ` Greg Kroah-Hartman
  0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-07-10 13:31 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Konrad Dybcio, Bryan O'Donoghue, Heikki Krogerus,
	Guenter Roeck, Andy Gross, Bjorn Andersson, linux-usb,
	linux-kernel, linux-arm-msm

On Mon, Jul 10, 2023 at 01:57:06PM +0300, Dmitry Baryshkov wrote:
> On Mon, 10 Jul 2023 at 13:04, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
> >
> > On 10.07.2023 12:02, Bryan O'Donoghue wrote:
> > > On 09/07/2023 21:13, Dmitry Baryshkov wrote:
> > >> The current approach to handling DP on bridge-enabled platforms requires
> > >> a chain of DP bridges up to the USB-C connector. Register a last DRM
> > >> bridge for such chain.
> > >>
> > >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > >> ---
> > >>   drivers/usb/typec/tcpm/Kconfig                |  1 +
> > >>   drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 39 +++++++++++++++++++
> > >>   2 files changed, 40 insertions(+)
> > >>
> > >> diff --git a/drivers/usb/typec/tcpm/Kconfig b/drivers/usb/typec/tcpm/Kconfig
> > >> index 5d393f520fc2..0b2993fef564 100644
> > >> --- a/drivers/usb/typec/tcpm/Kconfig
> > >> +++ b/drivers/usb/typec/tcpm/Kconfig
> > >> @@ -79,6 +79,7 @@ config TYPEC_WCOVE
> > >>   config TYPEC_QCOM_PMIC
> > >>       tristate "Qualcomm PMIC USB Type-C Port Controller Manager driver"
> > >>       depends on ARCH_QCOM || COMPILE_TEST
> > >> +    depends on DRM || DRM=n
> > >>       help
> > >>         A Type-C port and Power Delivery driver which aggregates two
> > >>         discrete pieces of silicon in the PM8150b PMIC block: the
> > >> diff --git a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> > >> index a905160dd860..0722fb8d75c4 100644
> > >> --- a/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> > >> +++ b/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
> > >> @@ -17,6 +17,9 @@
> > >>   #include <linux/usb/role.h>
> > >>   #include <linux/usb/tcpm.h>
> > >>   #include <linux/usb/typec_mux.h>
> > >> +
> > >> +#include <drm/drm_bridge.h>
> > >> +
> > >>   #include "qcom_pmic_typec_pdphy.h"
> > >>   #include "qcom_pmic_typec_port.h"
> > >>   @@ -33,6 +36,9 @@ struct pmic_typec {
> > >>       struct pmic_typec_port    *pmic_typec_port;
> > >>       bool            vbus_enabled;
> > >>       struct mutex        lock;        /* VBUS state serialization */
> > >> +#ifdef CONFIG_DRM
> > >> +    struct drm_bridge    bridge;
> > >> +#endif
> > >
> > > IMO there's no reason to ifdef the structure. Its up to you if you want to change it nor not, I have no strong feelings about it.
> > +1, there's no ifdefs in the drm_bridge.h header that would make this not compile
> 
> It is quite typical to idef unused structure fields. For example
> OF-related fields are frequently ifdef'ed.
> Let's see what the maintainers will say.

Please do not put #ifdef in .c files.

If it's not needed, please remove.

thanks,

greg k-h

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

end of thread, other threads:[~2023-07-10 13:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-09 20:13 [PATCH v2 0/2] usb: typec: qcom-pmic-typec: enable DP support Dmitry Baryshkov
2023-07-09 20:13 ` [PATCH v2 1/2] usb: typec: altmodes/displayport: add support for embedded DP cases Dmitry Baryshkov
2023-07-10  4:58   ` Bjorn Andersson
2023-07-09 20:13 ` [PATCH v2 2/2] usb: typec: qcom-pmic-typec: register drm_bridge Dmitry Baryshkov
2023-07-10 10:02   ` Bryan O'Donoghue
2023-07-10 10:04     ` Konrad Dybcio
2023-07-10 10:57       ` Dmitry Baryshkov
2023-07-10 13:31         ` Greg Kroah-Hartman

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).