Re: [PATCH 3/9] pcmcia: use pcmcia_loop_config in misc pcmcia drivers
On Mon, 19 Oct 2009, Dominik Brodowski wrote: > Use pcmcia_loop_config() in a few drivers missed during the first > round. On fmvj18x_cs.c it -- strangely -- only requries us to set > conf.ConfigIndex, which is done by the core, so include an empty > loop function which returns 0 unconditionally. > > CC: David S. Miller > CC: John W. Linville > CC: Jiri Kosina > CC: David Sterba > CC: net...@vger.kernel.org > CC: linux-wirel...@vger.kernel.org > Signed-off-by: Dominik Brodowski > --- > drivers/char/pcmcia/ipwireless/main.c | 103 > +++-- For the ipwireless part Acked-by: Jiri Kosina Thanks, -- Jiri Kosina SUSE Labs, Novell Inc. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 1/9] serial_cs: use pcmcia_loop_config() and pre-determined values
Hey, On Mon, Oct 19, 2009 at 09:06:57PM +0900, Komuro wrote: > Please don't remove the code below. > This code loades the "2nd" ConfigBase of the multi-function card. isn't this properly handled by the patch pcmcia: pccard_read tuple and TUPLE_RETURN_COMMON cleanup http://git.kernel.org/?p=linux/kernel/git/brodo/pcmcia-2.6.git;a=commitdiff;h=84897fc0524d7cbfc81d0bdf9f92ade6e3c3816b ? Best, Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: possible bug in pd6729
Hi, >So I am now compileing a 2.6.29 kernel. The only problem is I cannot apply >the patch (rreproduced below). I cut it out of the email message and pasted >it into a file named pd6729.patch. I tried to apply the patch like this: > >hutson:/usr/src/linux# patch -p1 patching file drivers/pcmcia/pd6729.c 1 out of 1 hunk FAILED -- saving rejects to file drivers/pcmcia/pd6729.c.rej > >I am thinking this means applying the patch did not work. Instead of apply the patch, could you cut and pasted it to the pd6729.c directly, and compile the kernel again? Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 1/9] serial_cs: use pcmcia_loop_config() and pre-determined values
Hi, Please don't remove the code below. This code loades the "2nd" ConfigBase of the multi-function card. > static int serial_config(struct pcmcia_device * link) > { > struct serial_info *info = link->priv; >- struct serial_cfg_mem *cfg_mem; >- tuple_t *tuple; >- u_char *buf; >- cisparse_t *parse; >- cistpl_cftable_entry_t *cf; >- int i, last_ret, last_fn; >+ int i; > > DEBUG(0, "serial_config(0x%p)\n", link); > >- cfg_mem = kmalloc(sizeof(struct serial_cfg_mem), GFP_KERNEL); >- if (!cfg_mem) >- goto failed; >- >- tuple = &cfg_mem->tuple; >- parse = &cfg_mem->parse; >- cf = &parse->cftable_entry; >- buf = cfg_mem->buf; >- >- tuple->TupleData = (cisdata_t *) buf; >- tuple->TupleOffset = 0; >- tuple->TupleDataMax = 255; >- tuple->Attributes = 0; >- >- /* Get configuration register information */ >- tuple->DesiredTuple = CISTPL_CONFIG; >- last_ret = first_tuple(link, tuple, parse); >- if (last_ret != 0) { >- last_fn = ParseTuple; >- goto cs_failed; >- } >- link->conf.ConfigBase = parse->config.base; >- link->conf.Present = parse->config.rmask[0]; >- ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[PATCH] pcmcia: drop already defined PCI_IDs
Out of 10 PCI_IDs found in the PCMCIA subsystem, only two were not defined in pci_ids.h. Move them and drop the duplicates. Successfully build-tested. Signed-off-by: Wolfram Sang Cc: Dominik Brodowski Cc: Jesse Barnes --- drivers/pcmcia/cirrus.h | 10 -- drivers/pcmcia/o2micro.h | 22 -- include/linux/pci_ids.h |2 ++ 3 files changed, 2 insertions(+), 32 deletions(-) diff --git a/drivers/pcmcia/cirrus.h b/drivers/pcmcia/cirrus.h index ecd4fc7..446a457 100644 --- a/drivers/pcmcia/cirrus.h +++ b/drivers/pcmcia/cirrus.h @@ -30,16 +30,6 @@ #ifndef _LINUX_CIRRUS_H #define _LINUX_CIRRUS_H -#ifndef PCI_VENDOR_ID_CIRRUS -#define PCI_VENDOR_ID_CIRRUS 0x1013 -#endif -#ifndef PCI_DEVICE_ID_CIRRUS_6729 -#define PCI_DEVICE_ID_CIRRUS_6729 0x1100 -#endif -#ifndef PCI_DEVICE_ID_CIRRUS_6832 -#define PCI_DEVICE_ID_CIRRUS_6832 0x1110 -#endif - #define PD67_MISC_CTL_10x16/* Misc control 1 */ #define PD67_FIFO_CTL 0x17/* FIFO control */ #define PD67_MISC_CTL_20x1E/* Misc control 2 */ diff --git a/drivers/pcmcia/o2micro.h b/drivers/pcmcia/o2micro.h index 72188c4..624442f 100644 --- a/drivers/pcmcia/o2micro.h +++ b/drivers/pcmcia/o2micro.h @@ -30,28 +30,6 @@ #ifndef _LINUX_O2MICRO_H #define _LINUX_O2MICRO_H -#ifndef PCI_VENDOR_ID_O2 -#define PCI_VENDOR_ID_O2 0x1217 -#endif -#ifndef PCI_DEVICE_ID_O2_6729 -#define PCI_DEVICE_ID_O2_6729 0x6729 -#endif -#ifndef PCI_DEVICE_ID_O2_6730 -#define PCI_DEVICE_ID_O2_6730 0x673a -#endif -#ifndef PCI_DEVICE_ID_O2_6832 -#define PCI_DEVICE_ID_O2_6832 0x6832 -#endif -#ifndef PCI_DEVICE_ID_O2_6836 -#define PCI_DEVICE_ID_O2_6836 0x6836 -#endif -#ifndef PCI_DEVICE_ID_O2_6812 -#define PCI_DEVICE_ID_O2_6812 0x6872 -#endif -#ifndef PCI_DEVICE_ID_O2_6933 -#define PCI_DEVICE_ID_O2_6933 0x6933 -#endif - /* Additional PCI configuration registers */ #define O2_MUX_CONTROL 0x90/* 32 bit */ diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f490e7a..857cc34 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1632,6 +1632,8 @@ #define PCI_DEVICE_ID_O2_6730 0x673a #define PCI_DEVICE_ID_O2_6832 0x6832 #define PCI_DEVICE_ID_O2_6836 0x6836 +#define PCI_DEVICE_ID_O2_6812 0x6872 +#define PCI_DEVICE_ID_O2_6933 0x6933 #define PCI_VENDOR_ID_3DFX 0x121a #define PCI_DEVICE_ID_3DFX_VOODOO 0x0001 -- 1.6.3.3 ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[PATCH] pcmcia: Fix possible printk format warnings
Fix more possible warnings introduced by my commit 1d80766554322236aee50d6023693b3210b9cf38 as fixed by the previous patch from Randy Dunlap. Not tested due to no hardware. Signed-off-by: Wolfram Sang Cc: Dominik Brodowski --- drivers/pcmcia/m32r_cfc.c| 10 ++ drivers/pcmcia/m32r_pcc.c| 10 ++ drivers/pcmcia/m8xx_pcmcia.c | 15 +-- drivers/pcmcia/soc_common.c |5 +++-- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/drivers/pcmcia/m32r_cfc.c b/drivers/pcmcia/m32r_cfc.c index d1d89c4..7dfbee1 100644 --- a/drivers/pcmcia/m32r_cfc.c +++ b/drivers/pcmcia/m32r_cfc.c @@ -537,8 +537,9 @@ static int _pcc_set_io_map(u_short sock, struct pccard_io_map *io) u_char map; debug(3, "m32r_cfc: SetIOMap(%d, %d, %#2.2x, %d ns, " - "%#lx-%#lx)\n", sock, io->map, io->flags, - io->speed, io->start, io->stop); + "%#llx-%#llx)\n", sock, io->map, io->flags, + io->speed, (unsigned long long)io->start, + (unsigned long long)io->stop); map = io->map; return 0; @@ -554,8 +555,9 @@ static int _pcc_set_mem_map(u_short sock, struct pccard_mem_map *mem) pcc_socket_t *t = &socket[sock]; debug(3, "m32r_cfc: SetMemMap(%d, %d, %#2.2x, %d ns, " -"%#lx, %#x)\n", sock, map, mem->flags, -mem->speed, mem->static_start, mem->card_start); +"%#llx, %#x)\n", sock, map, mem->flags, +mem->speed, (unsigned long long)mem->static_start, +mem->card_start); /* * sanity check diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c index a065583..c6524f9 100644 --- a/drivers/pcmcia/m32r_pcc.c +++ b/drivers/pcmcia/m32r_pcc.c @@ -492,8 +492,9 @@ static int _pcc_set_io_map(u_short sock, struct pccard_io_map *io) u_char map; debug(3, "m32r-pcc: SetIOMap(%d, %d, %#2.2x, %d ns, " - "%#x-%#x)\n", sock, io->map, io->flags, - io->speed, io->start, io->stop); + "%#llx-%#llx)\n", sock, io->map, io->flags, + io->speed, (unsigned long long)io->start, + (unsigned long long)io->stop); map = io->map; return 0; @@ -515,8 +516,9 @@ static int _pcc_set_mem_map(u_short sock, struct pccard_mem_map *mem) #endif debug(3, "m32r-pcc: SetMemMap(%d, %d, %#2.2x, %d ns, " -"%#lx, %#x)\n", sock, map, mem->flags, -mem->speed, mem->static_start, mem->card_start); +"%#llx, %#x)\n", sock, map, mem->flags, +mem->speed, (unsigned long long)mem->static_start, +mem->card_start); /* * sanity check diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c index c69f2c4..403559b 100644 --- a/drivers/pcmcia/m8xx_pcmcia.c +++ b/drivers/pcmcia/m8xx_pcmcia.c @@ -975,8 +975,9 @@ static int m8xx_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io) #define M8XX_BASE (PCMCIA_IO_WIN_BASE + io->start) dprintk("SetIOMap(%d, %d, %#2.2x, %d ns, " - "%#4.4x-%#4.4x)\n", lsock, io->map, io->flags, - io->speed, io->start, io->stop); + "%#4.4llx-%#4.4llx)\n", lsock, io->map, io->flags, + io->speed, (unsigned long long)io->start, + (unsigned long long)io->stop); if ((io->map >= PCMCIA_IO_WIN_NO) || (io->start > 0x) || (io->stop > 0x) || (io->stop < io->start)) @@ -1055,8 +1056,9 @@ static int m8xx_set_mem_map(struct pcmcia_socket *sock, pcmconf8xx_t *pcmcia = s->pcmcia; dprintk("SetMemMap(%d, %d, %#2.2x, %d ns, " - "%#5.5lx, %#5.5x)\n", lsock, mem->map, mem->flags, - mem->speed, mem->static_start, mem->card_start); + "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, + mem->speed, (unsigned long long)mem->static_start, + mem->card_start); if ((mem->map >= PCMCIA_MEM_WIN_NO) // || ((mem->s) >= PCMCIA_MEM_WIN_SIZE) @@ -1107,8 +1109,9 @@ static int m8xx_set_mem_map(struct pcmcia_socket *sock, } dprintk("SetMemMap(%d, %d, %#2.2x, %d ns, " - "%#5.5lx, %#5.5x)\n", lsock, mem->map, mem->flags, - mem->speed, mem->static_start, mem->card_start); + "%#5.5llx, %#5.5x)\n", lsock, mem->map, mem->flags, + mem->speed, (unsigned long long)mem->static_start, + mem->card_start); /* copy the struct and modify the copy */ diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c index 163cf98..ef7e9e5 100644 --- a/drivers/pcmcia/soc_common.c +++ b/drivers/pcmcia/soc_common.c @@ -336,8 +336,9 @@ soc_common_pcmcia_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *m struct soc_pcmcia_socket *skt = to_soc_pcmcia_socket(sock);
Re: [PATCH] pcmcia: fix controller printk format warnings
On Sun, Oct 11, 2009 at 06:50:09PM -0700, Randy Dunlap wrote: > From: Randy Dunlap > > Fix new pcmcia printk format warnings: > [This has now moved from linux-next to mainline. > Originally sent 2009-SEP-17.] > > drivers/pcmcia/i82365.c:1055: warning: format '%#x' expects type 'unsigned > int', but argument 6 has type 'phys_addr_t' > drivers/pcmcia/i82365.c:1055: warning: format '%#x' expects type 'unsigned > int', but argument 7 has type 'phys_addr_t' > drivers/pcmcia/tcic.c:734: warning: format '%#x' expects type 'unsigned int', > but argument 6 has type 'phys_addr_t' > drivers/pcmcia/tcic.c:734: warning: format '%#x' expects type 'unsigned int', > but argument 7 has type 'phys_addr_t' > > Signed-off-by: Randy Dunlap Acked-by: Wolfram Sang -- Pengutronix e.K. | Wolfram Sang| Industrial Linux Solutions | http://www.pengutronix.de/ | signature.asc Description: Digital signature ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Problem to initialize devices behind a PCI-PCMCIA bridge
Hey, On Sun, Oct 18, 2009 at 06:49:30PM +0200, Eric Trinh wrote: > What's going wrong? The BIOS doesn't assign the "parent" PCI-PCI bridge any resources which could be used by the Yenta bridge: > [ 12.068501] yenta_cardbus :04:01.0: CardBus bridge found [:] > [ 12.068518] yenta_cardbus :04:01.0: no resource of type 100 available, > trying to continue... > [ 12.068522] yenta_cardbus :04:01.0: no resource of type 100 available, > trying to continue... ... > [ 12.210712] yenta_cardbus :04:01.0: pcmcia: parent PCI bridge Memory > window: 0xd810 - 0xd81f > [ 12.210715] yenta_cardbus :04:01.0: pcmcia: parent PCI bridge Memory > window: 0xdc00 - 0xdfff > [ 13.304417] pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted > into slot 0 > [ 13.686817] pcmcia_socket pcmcia_socket0: cs: memory probe > 0x0c-0x0f: excluding 0xc-0xf > [ 13.686829] pcmcia_socket pcmcia_socket0: cs: memory probe > 0x6000-0x60ff: excluding 0x6000-0x60ff > [ 13.686838] pcmcia_socket pcmcia_socket0: cs: memory probe > 0xa000-0xa0ff: excluding 0xa000-0xa0ff > [ 13.686847] pcmcia_socket pcmcia_socket0: cs: memory probe > 0xd810-0xd81f: excluding 0xd810-0xd810 0xd812-0xd813 > [ 13.693915] pcmcia_socket pcmcia_socket0: cs: memory probe > 0xdc00-0xdfff: excluding 0xdc00-0xdfff > [ 13.694202] pcmcia 0.0: pcmcia: registering new device pcmcia0.0 > [ 14.410587] serial_cs: no usable port range found, giving up > [ 14.410592] serial_cs 0.0: RequestIO : No card present Not even the "default" resources which usually work on a x86 system seem to be available here... So: please send us the output of /proc/iomem and /proc/ioports. Also, you might check whether a BIOS update is available. Best, Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia