* [PATCH -next/mmotm] net/can: fix softing build errors
[not found] <201102110100.p1B10sDx029244@imap1.linux-foundation.org>
@ 2011-02-12 6:33 ` Randy Dunlap
2011-02-12 11:15 ` Kurt Van Dijck
0 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2011-02-12 6:33 UTC (permalink / raw)
To: akpm, netdev; +Cc: linux-kernel, davem, Kurt Van Dijck
From: Randy Dunlap <randy.dunlap@oracle.com>
Fix can/softing build errors due to kconfig error.
kconfig tells us about a problem...
warning: (CAN_SOFTING_CS) selects CAN_SOFTING which has unmet direct dependencies (NET && CAN && CAN_DEV && HAS_IOMEM)
and then this is what happens due to that kconfig problem:
ERROR: "register_candev" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "alloc_candev" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "can_bus_off" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "close_candev" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "free_candev" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "unregister_candev" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "alloc_can_skb" [drivers/net/can/softing/softing.ko] undefined!
ERROR: "open_candev" [drivers/net/can/softing/softing.ko] undefined!
with this partial config:
CONFIG_CAN=m
# CONFIG_CAN_RAW is not set
# CONFIG_CAN_BCM is not set
# CAN Device Drivers
# CONFIG_CAN_VCAN is not set
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_DEV is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SOFTING_CS=m
# CONFIG_CAN_DEBUG_DEVICES is not set
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Kurt Van Dijck <kurt.van.dijck@eia.be>
---
drivers/net/can/softing/Kconfig | 1 +
1 file changed, 1 insertion(+)
--- mmotm-2011-0210-1626.orig/drivers/net/can/softing/Kconfig
+++ mmotm-2011-0210-1626/drivers/net/can/softing/Kconfig
@@ -18,6 +18,7 @@ config CAN_SOFTING
config CAN_SOFTING_CS
tristate "Softing Gmbh CAN pcmcia cards"
depends on PCMCIA
+ depends on CAN_DEV && HAS_IOMEM
select CAN_SOFTING
---help---
Support for PCMCIA cards from Softing Gmbh & some cards
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next/mmotm] net/can: fix softing build errors
2011-02-12 6:33 ` [PATCH -next/mmotm] net/can: fix softing build errors Randy Dunlap
@ 2011-02-12 11:15 ` Kurt Van Dijck
2011-02-12 16:02 ` Randy Dunlap
0 siblings, 1 reply; 8+ messages in thread
From: Kurt Van Dijck @ 2011-02-12 11:15 UTC (permalink / raw)
To: Randy Dunlap; +Cc: akpm, netdev, linux-kernel, davem
On Fri, Feb 11, 2011 at 10:33:12PM -0800, Randy Dunlap wrote:
>
> warning: (CAN_SOFTING_CS) selects CAN_SOFTING which has unmet direct dependencies (NET && CAN && CAN_DEV && HAS_IOMEM)
>
> with this partial config:
>
> CONFIG_CAN=m
> # CONFIG_CAN_RAW is not set
> # CONFIG_CAN_BCM is not set
> # CAN Device Drivers
> # CONFIG_CAN_VCAN is not set
> CONFIG_CAN_SLCAN=m
> # CONFIG_CAN_DEV is not set
> CONFIG_CAN_SOFTING=m
> CONFIG_CAN_SOFTING_CS=m
> # CONFIG_CAN_DEBUG_DEVICES is not set
I understand the output, but I don't understand the cause well enough.
CAN_SOFTING=m has a 'depends on CAN_DEV'
Is it then possible to have CAN_SOFTING=m _and not_ CAN_DEV ?
>
regards,
Kurt
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next/mmotm] net/can: fix softing build errors
2011-02-12 11:15 ` Kurt Van Dijck
@ 2011-02-12 16:02 ` Randy Dunlap
2011-02-13 13:37 ` Kurt Van Dijck
2011-02-14 7:55 ` [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING Kurt Van Dijck
0 siblings, 2 replies; 8+ messages in thread
From: Randy Dunlap @ 2011-02-12 16:02 UTC (permalink / raw)
To: Kurt Van Dijck; +Cc: akpm, netdev, linux-kernel, davem
On 02/12/11 03:15, Kurt Van Dijck wrote:
> On Fri, Feb 11, 2011 at 10:33:12PM -0800, Randy Dunlap wrote:
>>
>> warning: (CAN_SOFTING_CS) selects CAN_SOFTING which has unmet direct dependencies (NET && CAN && CAN_DEV && HAS_IOMEM)
>>
>> with this partial config:
>>
>> CONFIG_CAN=m
>> # CONFIG_CAN_RAW is not set
>> # CONFIG_CAN_BCM is not set
>> # CAN Device Drivers
>> # CONFIG_CAN_VCAN is not set
>> CONFIG_CAN_SLCAN=m
>> # CONFIG_CAN_DEV is not set
>> CONFIG_CAN_SOFTING=m
>> CONFIG_CAN_SOFTING_CS=m
>> # CONFIG_CAN_DEBUG_DEVICES is not set
> I understand the output, but I don't understand the cause well enough.
> CAN_SOFTING=m has a 'depends on CAN_DEV'
> Is it then possible to have CAN_SOFTING=m _and not_ CAN_DEV ?
Yes. From Documentation/kbuild/kconfig-language.txt:
Note:
select should be used with care. select will force
a symbol to a value without visiting the dependencies.
By abusing select you are able to select a symbol FOO even
if FOO depends on BAR that is not set.
In general use select only for non-visible symbols
(no prompts anywhere) and for symbols with no dependencies.
That will limit the usefulness but on the other hand avoid
the illegal configurations all over.
CAN_SOFTING_CS does not depend on CAN_DEV. but it selects CAN_SOFTING,
which does depend on CAN_DEV, ... but CAN_DEV is not enabled.
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next/mmotm] net/can: fix softing build errors
2011-02-12 16:02 ` Randy Dunlap
@ 2011-02-13 13:37 ` Kurt Van Dijck
2011-02-13 16:01 ` Randy Dunlap
2011-02-14 7:55 ` [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING Kurt Van Dijck
1 sibling, 1 reply; 8+ messages in thread
From: Kurt Van Dijck @ 2011-02-13 13:37 UTC (permalink / raw)
To: Randy Dunlap; +Cc: akpm, netdev, linux-kernel, davem
On Sat, Feb 12, 2011 at 08:02:42AM -0800, Randy Dunlap wrote:
> On 02/12/11 03:15, Kurt Van Dijck wrote:
> > On Fri, Feb 11, 2011 at 10:33:12PM -0800, Randy Dunlap wrote:
> >>
> >> warning: (CAN_SOFTING_CS) selects CAN_SOFTING which has unmet direct dependencies (NET && CAN && CAN_DEV && HAS_IOMEM)
> >>
> >> with this partial config:
> >>
> >> CONFIG_CAN=m
> >> # CONFIG_CAN_RAW is not set
> >> # CONFIG_CAN_BCM is not set
> >> # CAN Device Drivers
> >> # CONFIG_CAN_VCAN is not set
> >> CONFIG_CAN_SLCAN=m
> >> # CONFIG_CAN_DEV is not set
> >> CONFIG_CAN_SOFTING=m
> >> CONFIG_CAN_SOFTING_CS=m
> >> # CONFIG_CAN_DEBUG_DEVICES is not set
> > I understand the output, but I don't understand the cause well enough.
> > CAN_SOFTING=m has a 'depends on CAN_DEV'
> > Is it then possible to have CAN_SOFTING=m _and not_ CAN_DEV ?
>
> Yes. From Documentation/kbuild/kconfig-language.txt:
>
I see.
The 'select CAN_SOFTING' was introduced because it makes no sense to
have CAN_SOFTING_CS alone 'for a normal user', although there is no
real dependency.
Is a 'select' then still a good option, since it feels like repeating
all dependencies from CAN_SOFTING in CAN_SOFTING_CS?
What about this?
diff --git a/drivers/net/can/softing/Kconfig b/drivers/net/can/softing/Kconfig
index 92bd6bd..55dd3e4 100644
--- a/drivers/net/can/softing/Kconfig
+++ b/drivers/net/can/softing/Kconfig
@@ -18,7 +18,7 @@ config CAN_SOFTING
config CAN_SOFTING_CS
tristate "Softing Gmbh CAN pcmcia cards"
depends on PCMCIA
- select CAN_SOFTING
+ depends on CAN_SOFTING
---help---
Support for PCMCIA cards from Softing Gmbh & some cards
from Vector Gmbh.
---
It will present the Softing stuff in Kconfig as if CAN_SOFTING_CS really
depends on CAN_SOFTING, which is acceptible from a users perspective.
Kurt
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH -next/mmotm] net/can: fix softing build errors
2011-02-13 13:37 ` Kurt Van Dijck
@ 2011-02-13 16:01 ` Randy Dunlap
2011-02-13 18:38 ` David Miller
0 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2011-02-13 16:01 UTC (permalink / raw)
To: Kurt Van Dijck; +Cc: akpm, netdev, linux-kernel, davem
On 02/13/11 05:37, Kurt Van Dijck wrote:
> On Sat, Feb 12, 2011 at 08:02:42AM -0800, Randy Dunlap wrote:
>> On 02/12/11 03:15, Kurt Van Dijck wrote:
>>> On Fri, Feb 11, 2011 at 10:33:12PM -0800, Randy Dunlap wrote:
>>>>
>>>> warning: (CAN_SOFTING_CS) selects CAN_SOFTING which has unmet direct dependencies (NET && CAN && CAN_DEV && HAS_IOMEM)
>>>>
>>>> with this partial config:
>>>>
>>>> CONFIG_CAN=m
>>>> # CONFIG_CAN_RAW is not set
>>>> # CONFIG_CAN_BCM is not set
>>>> # CAN Device Drivers
>>>> # CONFIG_CAN_VCAN is not set
>>>> CONFIG_CAN_SLCAN=m
>>>> # CONFIG_CAN_DEV is not set
>>>> CONFIG_CAN_SOFTING=m
>>>> CONFIG_CAN_SOFTING_CS=m
>>>> # CONFIG_CAN_DEBUG_DEVICES is not set
>>> I understand the output, but I don't understand the cause well enough.
>>> CAN_SOFTING=m has a 'depends on CAN_DEV'
>>> Is it then possible to have CAN_SOFTING=m _and not_ CAN_DEV ?
>>
>> Yes. From Documentation/kbuild/kconfig-language.txt:
>>
> I see.
> The 'select CAN_SOFTING' was introduced because it makes no sense to
> have CAN_SOFTING_CS alone 'for a normal user', although there is no
> real dependency.
> Is a 'select' then still a good option, since it feels like repeating
> all dependencies from CAN_SOFTING in CAN_SOFTING_CS?
> What about this?
>
> diff --git a/drivers/net/can/softing/Kconfig b/drivers/net/can/softing/Kconfig
> index 92bd6bd..55dd3e4 100644
> --- a/drivers/net/can/softing/Kconfig
> +++ b/drivers/net/can/softing/Kconfig
> @@ -18,7 +18,7 @@ config CAN_SOFTING
> config CAN_SOFTING_CS
> tristate "Softing Gmbh CAN pcmcia cards"
> depends on PCMCIA
> - select CAN_SOFTING
> + depends on CAN_SOFTING
> ---help---
> Support for PCMCIA cards from Softing Gmbh & some cards
> from Vector Gmbh.
> ---
> It will present the Softing stuff in Kconfig as if CAN_SOFTING_CS really
> depends on CAN_SOFTING, which is acceptible from a users perspective.
That's fine.
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
thanks.
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH -next/mmotm] net/can: fix softing build errors
2011-02-13 16:01 ` Randy Dunlap
@ 2011-02-13 18:38 ` David Miller
0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2011-02-13 18:38 UTC (permalink / raw)
To: randy.dunlap; +Cc: kurt.van.dijck, akpm, netdev, linux-kernel
From: Randy Dunlap <randy.dunlap@oracle.com>
Date: Sun, 13 Feb 2011 08:01:14 -0800
> On 02/13/11 05:37, Kurt Van Dijck wrote:
>> The 'select CAN_SOFTING' was introduced because it makes no sense to
>> have CAN_SOFTING_CS alone 'for a normal user', although there is no
>> real dependency.
>> Is a 'select' then still a good option, since it feels like repeating
>> all dependencies from CAN_SOFTING in CAN_SOFTING_CS?
>> What about this?
>>
>> diff --git a/drivers/net/can/softing/Kconfig b/drivers/net/can/softing/Kconfig
>> index 92bd6bd..55dd3e4 100644
>> --- a/drivers/net/can/softing/Kconfig
>> +++ b/drivers/net/can/softing/Kconfig
>> @@ -18,7 +18,7 @@ config CAN_SOFTING
>> config CAN_SOFTING_CS
>> tristate "Softing Gmbh CAN pcmcia cards"
>> depends on PCMCIA
>> - select CAN_SOFTING
>> + depends on CAN_SOFTING
>> ---help---
>> Support for PCMCIA cards from Softing Gmbh & some cards
>> from Vector Gmbh.
>> ---
>> It will present the Softing stuff in Kconfig as if CAN_SOFTING_CS really
>> depends on CAN_SOFTING, which is acceptible from a users perspective.
>
> That's fine.
> Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Kurt, please formally re-submit this with a proper commit message,
a signoff for you, and Randy's ACK.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING
2011-02-12 16:02 ` Randy Dunlap
2011-02-13 13:37 ` Kurt Van Dijck
@ 2011-02-14 7:55 ` Kurt Van Dijck
2011-02-14 19:44 ` David Miller
1 sibling, 1 reply; 8+ messages in thread
From: Kurt Van Dijck @ 2011-02-14 7:55 UTC (permalink / raw)
To: Randy Dunlap; +Cc: akpm, netdev, linux-kernel, davem
The statement 'select CAN_SOFTING' may ignore the dependancies
for CAN_SOFTING while selecting CAN_SOFTING_CS, as is therefore a bad choice.
Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
---
diff --git a/drivers/net/can/softing/Kconfig b/drivers/net/can/softing/Kconfig
index 92bd6bd..55dd3e4 100644
--- a/drivers/net/can/softing/Kconfig
+++ b/drivers/net/can/softing/Kconfig
@@ -18,7 +18,7 @@ config CAN_SOFTING
config CAN_SOFTING_CS
tristate "Softing Gmbh CAN pcmcia cards"
depends on PCMCIA
- select CAN_SOFTING
+ depends on CAN_SOFTING
---help---
Support for PCMCIA cards from Softing Gmbh & some cards
from Vector Gmbh.
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING
2011-02-14 7:55 ` [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING Kurt Van Dijck
@ 2011-02-14 19:44 ` David Miller
0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2011-02-14 19:44 UTC (permalink / raw)
To: kurt.van.dijck; +Cc: randy.dunlap, akpm, netdev, linux-kernel
From: Kurt Van Dijck <kurt.van.dijck@eia.be>
Date: Mon, 14 Feb 2011 08:55:07 +0100
> The statement 'select CAN_SOFTING' may ignore the dependancies
> for CAN_SOFTING while selecting CAN_SOFTING_CS, as is therefore a bad choice.
>
> Signed-off-by: Kurt Van Dijck <kurt.van.dijck@eia.be>
> Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-02-14 19:43 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <201102110100.p1B10sDx029244@imap1.linux-foundation.org>
2011-02-12 6:33 ` [PATCH -next/mmotm] net/can: fix softing build errors Randy Dunlap
2011-02-12 11:15 ` Kurt Van Dijck
2011-02-12 16:02 ` Randy Dunlap
2011-02-13 13:37 ` Kurt Van Dijck
2011-02-13 16:01 ` Randy Dunlap
2011-02-13 18:38 ` David Miller
2011-02-14 7:55 ` [PATCH] net/can/softing: make CAN_SOFTING_CS depend on CAN_SOFTING Kurt Van Dijck
2011-02-14 19:44 ` David Miller
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).