Re: [PATCH -next/mmotm] net/can: fix softing build errors

From: Randy Dunlap
Date: Sat Feb 12 2011 - 11:04:21 EST


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 ***
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/