netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).