Message ID | 20180815194923.3258-1-sean@poorly.run (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/bridge: ti-sn65dsi86: Fix 0-day build error | expand |
On Wed, Aug 15, 2018 at 03:49:14PM -0400, Sean Paul wrote: > From: Guenter Roeck <groeck@chromium.org> > > 0day reports: > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > `ti_sn_bridge_remove': > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to > `mipi_dsi_detach' > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to > `mipi_dsi_device_unregister' > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > `ti_sn_bridge_attach': > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to > `of_find_mipi_dsi_host_by_node' > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to > `mipi_dsi_device_register_full' > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to > `mipi_dsi_attach' > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to > `mipi_dsi_device_unregister' > > Quite obviously the driver depends on DRM_MIPI_DSI. > We can not use "depends" since the driver configuration uses "select", > so we'll have to select the missing dependency instead. > > Cc: Sean Paul <seanpaul@chromium.org> > Cc: Dylan Reid <dgreid@chromium.org> > Signed-off-by: Guenter Roeck <groeck@chromium.org> You can't mix depends and select for the same symbol, or all hell breaks loose. So needs a depends on DRM_MIPI_DSI instead. With that changed: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > > Originally uploaded here: > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 > > > 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 9a455c5f24f0..9eeb8ef0b174 100644 > --- a/drivers/gpu/drm/bridge/Kconfig > +++ b/drivers/gpu/drm/bridge/Kconfig > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 > select DRM_KMS_HELPER > select REGMAP_I2C > select DRM_PANEL > + select DRM_MIPI_DSI > help > Texas Instruments SN65DSI86 DSI to eDP Bridge driver > > -- > Sean Paul, Software Engineer, Google / Chromium OS > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, Aug 16, 2018 at 12:31 AM Daniel Vetter <daniel@ffwll.ch> wrote: > > On Wed, Aug 15, 2018 at 03:49:14PM -0400, Sean Paul wrote: > > From: Guenter Roeck <groeck@chromium.org> > > > > 0day reports: > > > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > > `ti_sn_bridge_remove': > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to > > `mipi_dsi_detach' > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to > > `mipi_dsi_device_unregister' > > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > > `ti_sn_bridge_attach': > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to > > `of_find_mipi_dsi_host_by_node' > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to > > `mipi_dsi_device_register_full' > > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to > > `mipi_dsi_attach' > > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to > > `mipi_dsi_device_unregister' > > > > Quite obviously the driver depends on DRM_MIPI_DSI. > > We can not use "depends" since the driver configuration uses "select", > > so we'll have to select the missing dependency instead. > > > > Cc: Sean Paul <seanpaul@chromium.org> > > Cc: Dylan Reid <dgreid@chromium.org> > > Signed-off-by: Guenter Roeck <groeck@chromium.org> > > You can't mix depends and select for the same symbol, or all hell breaks > loose. So needs a depends on DRM_MIPI_DSI instead. With that changed: > Yes, that is why I used select, not depends, as explained. "depends" causes a circular dependency. Guenter > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > > --- > > > > Originally uploaded here: > > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 > > > > > > 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 9a455c5f24f0..9eeb8ef0b174 100644 > > --- a/drivers/gpu/drm/bridge/Kconfig > > +++ b/drivers/gpu/drm/bridge/Kconfig > > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 > > select DRM_KMS_HELPER > > select REGMAP_I2C > > select DRM_PANEL > > + select DRM_MIPI_DSI > > help > > Texas Instruments SN65DSI86 DSI to eDP Bridge driver > > > > -- > > Sean Paul, Software Engineer, Google / Chromium OS > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch
On Thu, Aug 16, 2018 at 1:01 PM, Guenter Roeck <groeck@google.com> wrote: > On Thu, Aug 16, 2018 at 12:31 AM Daniel Vetter <daniel@ffwll.ch> wrote: >> >> On Wed, Aug 15, 2018 at 03:49:14PM -0400, Sean Paul wrote: >> > From: Guenter Roeck <groeck@chromium.org> >> > >> > 0day reports: >> > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function >> > `ti_sn_bridge_remove': >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to >> > `mipi_dsi_detach' >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to >> > `mipi_dsi_device_unregister' >> > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function >> > `ti_sn_bridge_attach': >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to >> > `of_find_mipi_dsi_host_by_node' >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to >> > `mipi_dsi_device_register_full' >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to >> > `mipi_dsi_attach' >> > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to >> > `mipi_dsi_device_unregister' >> > >> > Quite obviously the driver depends on DRM_MIPI_DSI. >> > We can not use "depends" since the driver configuration uses "select", >> > so we'll have to select the missing dependency instead. >> > >> > Cc: Sean Paul <seanpaul@chromium.org> >> > Cc: Dylan Reid <dgreid@chromium.org> >> > Signed-off-by: Guenter Roeck <groeck@chromium.org> >> >> You can't mix depends and select for the same symbol, or all hell breaks >> loose. So needs a depends on DRM_MIPI_DSI instead. With that changed: >> > > Yes, that is why I used select, not depends, as explained. "depends" > causes a circular dependency. I missgrepped, it's already chaos, so select should be perfectly fine. Well as fine as Kconfig can be. -Daniel > > Guenter > >> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> >> >> > --- >> > >> > Originally uploaded here: >> > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 >> > >> > >> > 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 9a455c5f24f0..9eeb8ef0b174 100644 >> > --- a/drivers/gpu/drm/bridge/Kconfig >> > +++ b/drivers/gpu/drm/bridge/Kconfig >> > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 >> > select DRM_KMS_HELPER >> > select REGMAP_I2C >> > select DRM_PANEL >> > + select DRM_MIPI_DSI >> > help >> > Texas Instruments SN65DSI86 DSI to eDP Bridge driver >> > >> > -- >> > Sean Paul, Software Engineer, Google / Chromium OS >> > >> > _______________________________________________ >> > dri-devel mailing list >> > dri-devel@lists.freedesktop.org >> > https://lists.freedesktop.org/mailman/listinfo/dri-devel >> >> -- >> Daniel Vetter >> Software Engineer, Intel Corporation >> http://blog.ffwll.ch
On Thu, Aug 16, 2018 at 05:20:04PM +0200, Daniel Vetter wrote: > On Thu, Aug 16, 2018 at 1:01 PM, Guenter Roeck <groeck@google.com> wrote: > > On Thu, Aug 16, 2018 at 12:31 AM Daniel Vetter <daniel@ffwll.ch> wrote: > >> > >> On Wed, Aug 15, 2018 at 03:49:14PM -0400, Sean Paul wrote: > >> > From: Guenter Roeck <groeck@chromium.org> > >> > > >> > 0day reports: > >> > > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > >> > `ti_sn_bridge_remove': > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to > >> > `mipi_dsi_detach' > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to > >> > `mipi_dsi_device_unregister' > >> > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > >> > `ti_sn_bridge_attach': > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to > >> > `of_find_mipi_dsi_host_by_node' > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to > >> > `mipi_dsi_device_register_full' > >> > >> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to > >> > `mipi_dsi_attach' > >> > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to > >> > `mipi_dsi_device_unregister' > >> > > >> > Quite obviously the driver depends on DRM_MIPI_DSI. > >> > We can not use "depends" since the driver configuration uses "select", > >> > so we'll have to select the missing dependency instead. > >> > > >> > Cc: Sean Paul <seanpaul@chromium.org> > >> > Cc: Dylan Reid <dgreid@chromium.org> > >> > Signed-off-by: Guenter Roeck <groeck@chromium.org> > >> > >> You can't mix depends and select for the same symbol, or all hell breaks > >> loose. So needs a depends on DRM_MIPI_DSI instead. With that changed: > >> > > > > Yes, that is why I used select, not depends, as explained. "depends" > > causes a circular dependency. > > I missgrepped, it's already chaos, so select should be perfectly fine. > Well as fine as Kconfig can be. Thanks for circling back, I've pushed the patch to -misc-next with your R-b. Sean > -Daniel > > > > > Guenter > > > >> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > >> > >> > --- > >> > > >> > Originally uploaded here: > >> > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 > >> > > >> > > >> > 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 9a455c5f24f0..9eeb8ef0b174 100644 > >> > --- a/drivers/gpu/drm/bridge/Kconfig > >> > +++ b/drivers/gpu/drm/bridge/Kconfig > >> > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 > >> > select DRM_KMS_HELPER > >> > select REGMAP_I2C > >> > select DRM_PANEL > >> > + select DRM_MIPI_DSI > >> > help > >> > Texas Instruments SN65DSI86 DSI to eDP Bridge driver > >> > > >> > -- > >> > Sean Paul, Software Engineer, Google / Chromium OS > >> > > >> > _______________________________________________ > >> > dri-devel mailing list > >> > dri-devel@lists.freedesktop.org > >> > https://lists.freedesktop.org/mailman/listinfo/dri-devel > >> > >> -- > >> Daniel Vetter > >> Software Engineer, Intel Corporation > >> http://blog.ffwll.ch > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
On 15.08.2018 21:49, Sean Paul wrote: > From: Guenter Roeck <groeck@chromium.org> > > 0day reports: > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > `ti_sn_bridge_remove': >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to > `mipi_dsi_detach' >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to > `mipi_dsi_device_unregister' > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > `ti_sn_bridge_attach': >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to > `of_find_mipi_dsi_host_by_node' >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to > `mipi_dsi_device_register_full' >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to > `mipi_dsi_attach' > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to > `mipi_dsi_device_unregister' > > Quite obviously the driver depends on DRM_MIPI_DSI. > We can not use "depends" since the driver configuration uses "select", Why? As mentioned in other threads: select for DSI controllers, depends on - for DSI peripherals. Regards Andrzej > so we'll have to select the missing dependency instead. > > Cc: Sean Paul <seanpaul@chromium.org> > Cc: Dylan Reid <dgreid@chromium.org> > Signed-off-by: Guenter Roeck <groeck@chromium.org> > --- > > Originally uploaded here: > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 > > > 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 9a455c5f24f0..9eeb8ef0b174 100644 > --- a/drivers/gpu/drm/bridge/Kconfig > +++ b/drivers/gpu/drm/bridge/Kconfig > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 > select DRM_KMS_HELPER > select REGMAP_I2C > select DRM_PANEL > + select DRM_MIPI_DSI > help > Texas Instruments SN65DSI86 DSI to eDP Bridge driver >
On Mon, Aug 20, 2018 at 8:15 AM Andrzej Hajda <a.hajda@samsung.com> wrote: > > On 15.08.2018 21:49, Sean Paul wrote: > > From: Guenter Roeck <groeck@chromium.org> > > > > 0day reports: > > > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > > `ti_sn_bridge_remove': > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to > > `mipi_dsi_detach' > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to > > `mipi_dsi_device_unregister' > > drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function > > `ti_sn_bridge_attach': > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to > > `of_find_mipi_dsi_host_by_node' > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to > > `mipi_dsi_device_register_full' > >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to > > `mipi_dsi_attach' > > drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to > > `mipi_dsi_device_unregister' > > > > Quite obviously the driver depends on DRM_MIPI_DSI. > > We can not use "depends" since the driver configuration uses "select", > > Why? Because the driver otherwise uses select, as mentioned. An attempt to use "depends on" results in a circular dependency. > As mentioned in other threads: select for DSI controllers, depends on - > for DSI peripherals. Please feel free to find a better solution, preferrably one that does not result in a circular dependency. Thanks, Guenter > > Regards > Andrzej > > > so we'll have to select the missing dependency instead. > > > > Cc: Sean Paul <seanpaul@chromium.org> > > Cc: Dylan Reid <dgreid@chromium.org> > > Signed-off-by: Guenter Roeck <groeck@chromium.org> > > --- > > > > Originally uploaded here: > > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 > > > > > > 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 9a455c5f24f0..9eeb8ef0b174 100644 > > --- a/drivers/gpu/drm/bridge/Kconfig > > +++ b/drivers/gpu/drm/bridge/Kconfig > > @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 > > select DRM_KMS_HELPER > > select REGMAP_I2C > > select DRM_PANEL > > + select DRM_MIPI_DSI > > help > > Texas Instruments SN65DSI86 DSI to eDP Bridge driver > > > >
On 20.08.2018 17:26, Guenter Roeck wrote: > On Mon, Aug 20, 2018 at 8:15 AM Andrzej Hajda <a.hajda@samsung.com> wrote: >> On 15.08.2018 21:49, Sean Paul wrote: >>> From: Guenter Roeck <groeck@chromium.org> >>> >>> 0day reports: >>> >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function >>> `ti_sn_bridge_remove': >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:629: undefined reference to >>> `mipi_dsi_detach' >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:630: undefined reference to >>> `mipi_dsi_device_unregister' >>> drivers/gpu/drm/bridge/ti-sn65dsi86.o: In function >>> `ti_sn_bridge_attach': >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:249: undefined reference to >>> `of_find_mipi_dsi_host_by_node' >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:256: undefined reference to >>> `mipi_dsi_device_register_full' >>>>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:276: undefined reference to >>> `mipi_dsi_attach' >>> drivers/gpu/drm/bridge/ti-sn65dsi86.c:289: undefined reference to >>> `mipi_dsi_device_unregister' >>> >>> Quite obviously the driver depends on DRM_MIPI_DSI. >>> We can not use "depends" since the driver configuration uses "select", >> Why? > Because the driver otherwise uses select, as mentioned. An attempt to > use "depends on" results in a circular dependency. OK, I was blind. Next time please provide error message from recursive dependency, it should give better hint what is going on. Now I understand why Sean posted the patch changing "depends on" to select :) Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> -- Regards Andrzej > >> As mentioned in other threads: select for DSI controllers, depends on - >> for DSI peripherals. > Please feel free to find a better solution, preferrably one that does > not result in a circular dependency. > > Thanks, > Guenter > >> Regards >> Andrzej >> >>> so we'll have to select the missing dependency instead. >>> >>> Cc: Sean Paul <seanpaul@chromium.org> >>> Cc: Dylan Reid <dgreid@chromium.org> >>> Signed-off-by: Guenter Roeck <groeck@chromium.org> >>> --- >>> >>> Originally uploaded here: >>> https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1176224 >>> >>> >>> 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 9a455c5f24f0..9eeb8ef0b174 100644 >>> --- a/drivers/gpu/drm/bridge/Kconfig >>> +++ b/drivers/gpu/drm/bridge/Kconfig >>> @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 >>> select DRM_KMS_HELPER >>> select REGMAP_I2C >>> select DRM_PANEL >>> + select DRM_MIPI_DSI >>> help >>> Texas Instruments SN65DSI86 DSI to eDP Bridge driver >>> >> >
diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 9a455c5f24f0..9eeb8ef0b174 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -142,6 +142,7 @@ config DRM_TI_SN65DSI86 select DRM_KMS_HELPER select REGMAP_I2C select DRM_PANEL + select DRM_MIPI_DSI help Texas Instruments SN65DSI86 DSI to eDP Bridge driver