diff mbox series

[U-Boot] usb: Do not compile USB_STORAGE with !BLK && !DM_USB

Message ID 20181019124335.56725-1-agraf@suse.de
State Deferred
Delegated to: Marek Vasut
Headers show
Series [U-Boot] usb: Do not compile USB_STORAGE with !BLK && !DM_USB | expand

Commit Message

Alexander Graf Oct. 19, 2018, 12:43 p.m. UTC
The USB storage driver does not compile when CONFIG_BLK is set,
but DM_USB is not set, as we're missing the DM device links for
CONFIG_BLK enabled code paths.

So far it looks like nobody fell into this trap, because no board
enabled CONFIG_BLK and CONFIG_USB_STORAGE while not enabling
CONFIG_DM_USB, but we should still reflect that dependency properly
in Kconfig so that implicit enabling of CONFIG_USB_STORAGE works.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 drivers/usb/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Marek Vasut Oct. 19, 2018, 12:45 p.m. UTC | #1
On 10/19/2018 02:43 PM, Alexander Graf wrote:
> The USB storage driver does not compile when CONFIG_BLK is set,
> but DM_USB is not set, as we're missing the DM device links for
> CONFIG_BLK enabled code paths.
> 
> So far it looks like nobody fell into this trap, because no board
> enabled CONFIG_BLK and CONFIG_USB_STORAGE while not enabling
> CONFIG_DM_USB, but we should still reflect that dependency properly
> in Kconfig so that implicit enabling of CONFIG_USB_STORAGE works.
> 
> Signed-off-by: Alexander Graf <agraf@suse.de>

Can we fix it such that it'd compile ? :)

> ---
>  drivers/usb/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
> index 4fbe172e05..297dda1511 100644
> --- a/drivers/usb/Kconfig
> +++ b/drivers/usb/Kconfig
> @@ -65,6 +65,7 @@ comment "USB peripherals"
>  
>  config USB_STORAGE
>  	bool "USB Mass Storage support"
> +	depends on DM_USB || !BLK
>  	---help---
>  	  Say Y here if you want to connect USB mass storage devices to your
>  	  board's USB port.
>
Alexander Graf Oct. 19, 2018, 12:47 p.m. UTC | #2
On 19.10.18 14:45, Marek Vasut wrote:
> On 10/19/2018 02:43 PM, Alexander Graf wrote:
>> The USB storage driver does not compile when CONFIG_BLK is set,
>> but DM_USB is not set, as we're missing the DM device links for
>> CONFIG_BLK enabled code paths.
>>
>> So far it looks like nobody fell into this trap, because no board
>> enabled CONFIG_BLK and CONFIG_USB_STORAGE while not enabling
>> CONFIG_DM_USB, but we should still reflect that dependency properly
>> in Kconfig so that implicit enabling of CONFIG_USB_STORAGE works.
>>
>> Signed-off-by: Alexander Graf <agraf@suse.de>
> 
> Can we fix it such that it'd compile ? :)

I'm not sure. It feels awkward to allow code to use DM enabled block
functions, but not DM enabled USB functionality. I can definitely see
why the code tripped over :).

Wasn't Simon planning to rip out non-DM enabled devices soon'ish anyways?


Alex
Marek Vasut Oct. 19, 2018, 12:48 p.m. UTC | #3
On 10/19/2018 02:47 PM, Alexander Graf wrote:
> 
> 
> On 19.10.18 14:45, Marek Vasut wrote:
>> On 10/19/2018 02:43 PM, Alexander Graf wrote:
>>> The USB storage driver does not compile when CONFIG_BLK is set,
>>> but DM_USB is not set, as we're missing the DM device links for
>>> CONFIG_BLK enabled code paths.
>>>
>>> So far it looks like nobody fell into this trap, because no board
>>> enabled CONFIG_BLK and CONFIG_USB_STORAGE while not enabling
>>> CONFIG_DM_USB, but we should still reflect that dependency properly
>>> in Kconfig so that implicit enabling of CONFIG_USB_STORAGE works.
>>>
>>> Signed-off-by: Alexander Graf <agraf@suse.de>
>>
>> Can we fix it such that it'd compile ? :)
> 
> I'm not sure. It feels awkward to allow code to use DM enabled block
> functions, but not DM enabled USB functionality. I can definitely see
> why the code tripped over :).
> 
> Wasn't Simon planning to rip out non-DM enabled devices soon'ish anyways?

I dunno. Which devices have this problem ?
Alexander Graf Oct. 19, 2018, 12:53 p.m. UTC | #4
On 19.10.18 14:48, Marek Vasut wrote:
> On 10/19/2018 02:47 PM, Alexander Graf wrote:
>>
>>
>> On 19.10.18 14:45, Marek Vasut wrote:
>>> On 10/19/2018 02:43 PM, Alexander Graf wrote:
>>>> The USB storage driver does not compile when CONFIG_BLK is set,
>>>> but DM_USB is not set, as we're missing the DM device links for
>>>> CONFIG_BLK enabled code paths.
>>>>
>>>> So far it looks like nobody fell into this trap, because no board
>>>> enabled CONFIG_BLK and CONFIG_USB_STORAGE while not enabling
>>>> CONFIG_DM_USB, but we should still reflect that dependency properly
>>>> in Kconfig so that implicit enabling of CONFIG_USB_STORAGE works.
>>>>
>>>> Signed-off-by: Alexander Graf <agraf@suse.de>
>>>
>>> Can we fix it such that it'd compile ? :)
>>
>> I'm not sure. It feels awkward to allow code to use DM enabled block
>> functions, but not DM enabled USB functionality. I can definitely see
>> why the code tripped over :).
>>
>> Wasn't Simon planning to rip out non-DM enabled devices soon'ish anyways?
> 
> I dunno. Which devices have this problem ?
> 

The ones I've seen (enable DISTRO_DEFAULTS, enable USB, enable
CONFIG_BLK, don't enable DM_USB and don't enable USB_STORAGE today) are
mostly i.MX6 and OMAP/AM[3-5]xxx based.


Alex
diff mbox series

Patch

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 4fbe172e05..297dda1511 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -65,6 +65,7 @@  comment "USB peripherals"
 
 config USB_STORAGE
 	bool "USB Mass Storage support"
+	depends on DM_USB || !BLK
 	---help---
 	  Say Y here if you want to connect USB mass storage devices to your
 	  board's USB port.