2011/9/3 Wolfgang Grandegger <[email protected]> > Hi Willy, > > On 08/30/2011 01:36 PM, Willy Lambert wrote: > > 2011/8/30 Wolfgang Grandegger <[email protected]> > > > >> On 08/30/2011 11:18 AM, Willy Lambert wrote: > >>> 2011/8/18 Marc Kleine-Budde <[email protected]> > >>> > >>>> On 08/18/2011 07:55 AM, Oliver Hartkopp wrote: > >>>>> On 16.08.2011 21:45, Willy Lambert wrote: > >>>>> > >>>>>> Hi all, > >>>>>> > >>>>>> I used sja1000 on a 32bits system and I am trying to switch to a 64b > >>>> system. > >>>>>> It not possible to select CONFIG_SJA1000_ISA when CONFIG_ISA is not > >> set, > >>>> which > >>>>>> is not available when CONFIG_X86_64 is set. > >>>>>> > >>>>>> As in xenomai "socket" drivers I am able to use my board, I wonder > why > >>>> this is > >>>>>> not possible under a vanilla linux. I access my HW by iomem (the > >>>> equivalent > >>>>>> xenomai driver is xeno_can_mem), is there an equivalent socket can > >>>> driver ? > >>>>> > >>>>> > >>>>> Hi Willy, > >>>>> > >>>>> i've looked into > >>>>> > >>>>> http://lxr.linux.no/#linux+v3.0.3/drivers/tty/serial/8250.c > >>>>> > >>>>> which should have a similar problem, as these old-style serial > hardware > >>>> is > >>>>> also using the ISA bus. > >>>>> > >>>>> But the serial drivers are now depending on HAS_IOMEM > >>>>> > >>>>> http://lxr.linux.no/#linux+v3.0.3/drivers/tty/serial/Kconfig#L4 > >>>>> > >>>>> and they use platform calls > >>>>> > >>>>> http://lxr.linux.no/#linux+v3.0.3/drivers/tty/serial/8250.c#L3177 > >>>>> > >>>>> like platform_device_alloc(), platform_device_add(), > >>>>> platform_driver_register() and friends ... > >>>>> > >>>>> http://lxr.linux.no/#linux+v3.0.3/drivers/tty/serial/8250.c#L3349 > >>>>> > >>>>> The sja1000_isa.c still uses the ISA pendants > >>>>> > >>>>> > >>>> > >> > http://lxr.linux.no/#linux+v3.0.3/drivers/net/can/sja1000/sja1000_isa.c#L253 > >>>>> > >>>>> So IMO the sja1000_isa driver 'just' needs to be converted like they > >> did > >>>> with > >>>>> the serial drivers. > >>>>> > >>>>> @Wolfgang/Marc: Or is it better to create some platform bindings for > >> x86 > >>>> and > >>>>> use the 'sja1000_platform' driver?? > >>>> > >>>> A platform driver is of course sexier :) > >>>> > >>>> Marc > >>>> > >>> > >>> Does someone know what is to do in order to make this sja1000_platform > >>> driver in my case ? > >> > >> I think we have first to fix the HAS_ISA vs. HAS_IOMEM issue. The > >> sja1000 driver supports both, I/O port and memory mapped accesses. For > >> the first we need HAS_ISA and for the latter HAS_IOMEM... that's my > >> current understanding. I will have a closer look later today or > tomorrow. > >> > > > > Thanks in advance, I am using IOMEM, so this fix should be directly > usefull > > for me. > > What CAN hardware are you using?
Motherboad and CAN stack : http://www.advantech.com/products/PCM-3362/mod_2B69DA4C-D506-4AEA-8CC3-F6E58E3CBC87.aspx http://www.ixxat.com/pc_i_04_104_en.html > And what bus is it > connected to? Why do I ask? In "arch/x86/Kconfig" there is: > > # x86_64 have no ISA slots, but can have ISA-style DMA. > config ISA_DMA_API > bool "ISA-style DMA support" if (X86_64 && EXPERT) > default y > help > Enables ISA-style DMA support for devices requiring such > controllers. > If unsure, say Y. > > if X86_32 > > config ISA > bool "ISA support" > ---help--- > Find out whether you have ISA slots on your motherboard. ISA is > the > name of a bus system, i.e. the way the CPU talks to the other > stuff > inside your box. Other bus systems are PCI, EISA, MicroChannel > (MCA) or VESA. ISA is an older system, now being displaced by > PCI; > newer boards don't support it. If you have ISA, say Y, otherwise > N. > > > Maybe the assumption that the x86_64 does not have ISA slots is wrong and > we > should fix that instead of moving to a platform driver like Oliver > suggested. > > Wolfgang. >
_______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
