diff mbox

can: let SJA1000 driver depend on HAS_IOMEM

Message ID 4A412C53.8050607@grandegger.com
State Rejected, archived
Delegated to: David Miller
Headers show

Commit Message

Wolfgang Grandegger June 23, 2009, 7:26 p.m. UTC
Heiko Carstens wrote:
> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> Fixes this compile error on s390:
> 
> drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_read_reg':
> drivers/net/can/sja1000/sja1000_platform.c:42: error: implicit declaration of function 'ioread8'
> drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_write_reg':
> drivers/net/can/sja1000/sja1000_platform.c:47: error: implicit declaration of function 'iowrite8'
> drivers/net/can/sja1000/sja1000_platform.c: In function 'sp_probe':
> drivers/net/can/sja1000/sja1000_platform.c:79: error: implicit declaration of function 'ioremap_nocache'
> 
> Cc: Wolfgang Grandegger <wg@grandegger.com>
> Cc: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
>  drivers/net/can/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Index: linux-2.6/drivers/net/can/Kconfig
> ===================================================================
> --- linux-2.6.orig/drivers/net/can/Kconfig
> +++ linux-2.6/drivers/net/can/Kconfig
> @@ -36,7 +36,7 @@ config CAN_CALC_BITTIMING
>  	  If unsure, say Y.
>  
>  config CAN_SJA1000
> -	depends on CAN_DEV
> +	depends on CAN_DEV && HAS_IOMEM
>  	tristate "Philips SJA1000"
>  	---help---
>  	  Driver for the SJA1000 CAN controllers from Philips or NXP

Hm, this Kconfig entry is not directly responsible for building
sja1000_platform.o. It builds sja1000.o, which does not rely on
HAS_IOMEM. It should be added to "config CAN_SJA1000_PLATFORM" instead.
Does the patch below work for you?

Wolfgang.

---
 drivers/net/can/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Oliver Hartkopp June 24, 2009, 6:52 a.m. UTC | #1
Wolfgang Grandegger wrote:
> Heiko Carstens wrote:


>> Index: linux-2.6/drivers/net/can/Kconfig
>> ===================================================================
>> --- linux-2.6.orig/drivers/net/can/Kconfig
>> +++ linux-2.6/drivers/net/can/Kconfig
>> @@ -36,7 +36,7 @@ config CAN_CALC_BITTIMING
>>  	  If unsure, say Y.
>>  
>>  config CAN_SJA1000
>> -	depends on CAN_DEV
>> +	depends on CAN_DEV && HAS_IOMEM
>>  	tristate "Philips SJA1000"
>>  	---help---
>>  	  Driver for the SJA1000 CAN controllers from Philips or NXP
> 
> Hm, this Kconfig entry is not directly responsible for building
> sja1000_platform.o. It builds sja1000.o, which does not rely on
> HAS_IOMEM. It should be added to "config CAN_SJA1000_PLATFORM" instead.

Hi Wolfgang,

the question is, if we should add HAS_IOMEM to almost every SJA1000 depended
driver like SJA1000_PLATFORM, SJA1000_OF_PLATFORM, EMS_PCI and KVASER_PCI ???

Is it possible to have a support for the SJA1000 that does *not* depend on
HAS_IOMEM?

Regards,
Oliver
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller June 24, 2009, 7:01 a.m. UTC | #2
From: Oliver Hartkopp <socketcan@hartkopp.net>
Date: Wed, 24 Jun 2009 08:52:38 +0200

> Wolfgang Grandegger wrote:
>> Heiko Carstens wrote:
> 
> 
>>> Index: linux-2.6/drivers/net/can/Kconfig
>>> ===================================================================
>>> --- linux-2.6.orig/drivers/net/can/Kconfig
>>> +++ linux-2.6/drivers/net/can/Kconfig
>>> @@ -36,7 +36,7 @@ config CAN_CALC_BITTIMING
>>>  	  If unsure, say Y.
>>>  
>>>  config CAN_SJA1000
>>> -	depends on CAN_DEV
>>> +	depends on CAN_DEV && HAS_IOMEM
>>>  	tristate "Philips SJA1000"
>>>  	---help---
>>>  	  Driver for the SJA1000 CAN controllers from Philips or NXP
>> 
>> Hm, this Kconfig entry is not directly responsible for building
>> sja1000_platform.o. It builds sja1000.o, which does not rely on
>> HAS_IOMEM. It should be added to "config CAN_SJA1000_PLATFORM" instead.
> 
> Hi Wolfgang,
> 
> the question is, if we should add HAS_IOMEM to almost every SJA1000 depended
> driver like SJA1000_PLATFORM, SJA1000_OF_PLATFORM, EMS_PCI and KVASER_PCI ???
> 
> Is it possible to have a support for the SJA1000 that does *not* depend on
> HAS_IOMEM?

This was my initial impression when I saw Wolfgang's suggested patch,
and I still feel this way, and thus Heiko's patch seems the best for
now until there is an exception.

And in fact Heiko's patch has been in my tree for a while already :)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfgang Grandegger June 24, 2009, 8:26 a.m. UTC | #3
David Miller wrote:
> From: Oliver Hartkopp <socketcan@hartkopp.net>
> Date: Wed, 24 Jun 2009 08:52:38 +0200
> 
>> Wolfgang Grandegger wrote:
>>> Heiko Carstens wrote:
>>
>>>> Index: linux-2.6/drivers/net/can/Kconfig
>>>> ===================================================================
>>>> --- linux-2.6.orig/drivers/net/can/Kconfig
>>>> +++ linux-2.6/drivers/net/can/Kconfig
>>>> @@ -36,7 +36,7 @@ config CAN_CALC_BITTIMING
>>>>  	  If unsure, say Y.
>>>>  
>>>>  config CAN_SJA1000
>>>> -	depends on CAN_DEV
>>>> +	depends on CAN_DEV && HAS_IOMEM
>>>>  	tristate "Philips SJA1000"
>>>>  	---help---
>>>>  	  Driver for the SJA1000 CAN controllers from Philips or NXP
>>> Hm, this Kconfig entry is not directly responsible for building
>>> sja1000_platform.o. It builds sja1000.o, which does not rely on
>>> HAS_IOMEM. It should be added to "config CAN_SJA1000_PLATFORM" instead.
>> Hi Wolfgang,
>>
>> the question is, if we should add HAS_IOMEM to almost every SJA1000 depended
>> driver like SJA1000_PLATFORM, SJA1000_OF_PLATFORM, EMS_PCI and KVASER_PCI ???
>>
>> Is it possible to have a support for the SJA1000 that does *not* depend on
>> HAS_IOMEM?

In principle yes by using an appropriate driver accessing the SJA1000
with other methods. But I might be wrong because it does not make sense
hardware-wise.

> This was my initial impression when I saw Wolfgang's suggested patch,
> and I still feel this way, and thus Heiko's patch seems the best for
> now until there is an exception.
> 
> And in fact Heiko's patch has been in my tree for a while already :)

OK, that's fine for the moment. We may even consider making CONFIG_CAN
depend on HAS_IOMEM like for SPI, USB, Serial, etc.

Wolfgang.
Woflgang.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Oliver Hartkopp June 24, 2009, 8:35 a.m. UTC | #4
Wolfgang Grandegger wrote:
> David Miller wrote:
>> From: Oliver Hartkopp <socketcan@hartkopp.net>

>>> the question is, if we should add HAS_IOMEM to almost every SJA1000 depended
>>> driver like SJA1000_PLATFORM, SJA1000_OF_PLATFORM, EMS_PCI and KVASER_PCI ???
>>>
>>> Is it possible to have a support for the SJA1000 that does *not* depend on
>>> HAS_IOMEM?
>
> In principle yes by using an appropriate driver accessing the SJA1000
> with other methods. But I might be wrong because it does not make sense
> hardware-wise.
>
>> This was my initial impression when I saw Wolfgang's suggested patch,
>> and I still feel this way, and thus Heiko's patch seems the best for
>> now until there is an exception.
>>
>> And in fact Heiko's patch has been in my tree for a while already :)
>
> OK, that's fine for the moment. We may even consider making CONFIG_CAN
> depend on HAS_IOMEM like for SPI, USB, Serial, etc.

Why CONFIG_CAN ??

CONFIG_CAN provides a network protocol family that can be used e.g. with the
vcan driver without any hardware. So HAS_IOMEM only has to take care of some
drivers, that fiddle on CAN controller registers themselves. E.g. for SPI, USB
and Serial these 'underlying' interfaces bring their own requirements. When we
depend on SPI, it should bring HAS_IOMEM as a dependency of SPI.

Regards,
Oliver


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfgang Grandegger June 24, 2009, 8:51 a.m. UTC | #5
Oliver Hartkopp wrote:
> Wolfgang Grandegger wrote:
>> David Miller wrote:
>>> From: Oliver Hartkopp <socketcan@hartkopp.net>
> 
>>>> the question is, if we should add HAS_IOMEM to almost every SJA1000 depended
>>>> driver like SJA1000_PLATFORM, SJA1000_OF_PLATFORM, EMS_PCI and KVASER_PCI ???
>>>>
>>>> Is it possible to have a support for the SJA1000 that does *not* depend on
>>>> HAS_IOMEM?
>> In principle yes by using an appropriate driver accessing the SJA1000
>> with other methods. But I might be wrong because it does not make sense
>> hardware-wise.
>>
>>> This was my initial impression when I saw Wolfgang's suggested patch,
>>> and I still feel this way, and thus Heiko's patch seems the best for
>>> now until there is an exception.
>>>
>>> And in fact Heiko's patch has been in my tree for a while already :)
>> OK, that's fine for the moment. We may even consider making CONFIG_CAN
>> depend on HAS_IOMEM like for SPI, USB, Serial, etc.
> 
> Why CONFIG_CAN ??
> 
> CONFIG_CAN provides a network protocol family that can be used e.g. with the
> vcan driver without any hardware. So HAS_IOMEM only has to take care of some
> drivers, that fiddle on CAN controller registers themselves. E.g. for SPI, USB
> and Serial these 'underlying' interfaces bring their own requirements. When we
> depend on SPI, it should bring HAS_IOMEM as a dependency of SPI.

OK, then s/CONFIG_CAN/CONFIG_CAN_DEV/

Wolfgang.



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Oliver Hartkopp June 24, 2009, 9:07 a.m. UTC | #6
Wolfgang Grandegger wrote:
> Oliver Hartkopp wrote:
>> Wolfgang Grandegger wrote:

>>> We may even consider making CONFIG_CAN
>>> depend on HAS_IOMEM like for SPI, USB, Serial, etc.
>> Why CONFIG_CAN ??
>>
>> CONFIG_CAN provides a network protocol family that can be used e.g. with the
>> vcan driver without any hardware. So HAS_IOMEM only has to take care of some
>> drivers, that fiddle on CAN controller registers themselves. E.g. for SPI, USB
>> and Serial these 'underlying' interfaces bring their own requirements. When we
>> depend on SPI, it should bring HAS_IOMEM as a dependency of SPI.
> 
> OK, then s/CONFIG_CAN/CONFIG_CAN_DEV/

IMHO not even CONFIG_CAN_DEV that also provides bittime calculation and
standard CAN driver stuff that does not depend on a specific hardware.

HAS_IOMEM should be a dependency on specific drivers (like stated above).

Regards,
Oliver
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

Index: net-next-2.6/drivers/net/can/Kconfig
===================================================================
--- net-next-2.6.orig/drivers/net/can/Kconfig
+++ net-next-2.6/drivers/net/can/Kconfig
@@ -42,7 +42,7 @@  config CAN_SJA1000
 	  Driver for the SJA1000 CAN controllers from Philips or NXP

 config CAN_SJA1000_PLATFORM
-	depends on CAN_SJA1000
+	depends on HAS_IOMEM && CAN_SJA1000
 	tristate "Generic Platform Bus based SJA1000 driver"
 	---help---
 	  This driver adds support for the SJA1000 chips connected to