public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
@ 2003-12-24  1:44 Andres Salomon
  2003-12-24  2:28 ` Andrew Morton
  0 siblings, 1 reply; 14+ messages in thread
From: Andres Salomon @ 2003-12-24  1:44 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-pcmcia, jt


[-- Attachment #1.1: Type: text/plain, Size: 14 bytes --]

Part 5 of 7.

[-- Attachment #1.2: 005-cs_remove.patch --]
[-- Type: text/x-patch, Size: 4925 bytes --]

Revision: linux--mainline--2.6--patch-18
Archive: dilinger@voxel.net--2003-spiral
Creator: Andres Salomon <dilinger@voxel.net>
Date: Sun Dec 21 21:08:50 EST 2003
Standard-date: 2003-12-22 02:08:50 GMT
Modified-files: drivers/net/pcmcia/3c574_cs.c
New-patches: dilinger@voxel.net--2003-spiral/linux--mainline--2.6--patch-18
Summary: CardServices() removal, pt. 5
Keywords: 

Remove calls to CardServices(), part 5; 3c574_cs.c.

* added files

    {arch}/linux/linux--mainline/linux--mainline--2.6/dilinger@voxel.net--2003-spiral/patch-log/patch-18

* modified files

--- orig/drivers/net/pcmcia/3c574_cs.c
+++ mod/drivers/net/pcmcia/3c574_cs.c
@@ -330,7 +330,7 @@
 	client_reg.event_handler = &tc574_event;
 	client_reg.Version = 0x0210;
 	client_reg.event_callback_args.client_data = link;
-	ret = CardServices(RegisterClient, &link->handle, &client_reg);
+	ret = pcmcia_register_client(&link->handle, &client_reg);
 	if (ret != 0) {
 		cs_error(link->handle, RegisterClient, ret);
 		tc574_detach(link);
@@ -369,7 +369,7 @@
 	}
 
 	if (link->handle)
-		CardServices(DeregisterClient, link->handle);
+		pcmcia_deregister_client(link->handle);
 
 	/* Unlink device structure, free bits */
 	*linkp = link->next;
@@ -387,8 +387,8 @@
 	ethernet device available to the system.
 */
 
-#define CS_CHECK(fn, args...) \
-while ((last_ret=CardServices(last_fn=(fn), args))!=0) goto cs_failed
+#define CS_CHECK(fn, ret) \
+  do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
 
 static void tc574_config(dev_link_t *link)
 {
@@ -409,12 +409,12 @@
 
 	tuple.Attributes = 0;
 	tuple.DesiredTuple = CISTPL_CONFIG;
-	CS_CHECK(GetFirstTuple, handle, &tuple);
+	CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(handle, &tuple));
 	tuple.TupleData = (cisdata_t *)buf;
 	tuple.TupleDataMax = 64;
 	tuple.TupleOffset = 0;
-	CS_CHECK(GetTupleData, handle, &tuple);
-	CS_CHECK(ParseTuple, handle, &tuple, &parse);
+	CS_CHECK(GetTupleData, pcmcia_get_tuple_data(handle, &tuple));
+	CS_CHECK(ParseTuple, pcmcia_parse_tuple(handle, &tuple, &parse));
 	link->conf.ConfigBase = parse.config.base;
 	link->conf.Present = parse.config.rmask[0];
 
@@ -424,15 +424,15 @@
 	link->io.IOAddrLines = 16;
 	for (i = j = 0; j < 0x400; j += 0x20) {
 		link->io.BasePort1 = j ^ 0x300;
-		i = CardServices(RequestIO, link->handle, &link->io);
+		i = pcmcia_request_io(link->handle, &link->io);
 		if (i == CS_SUCCESS) break;
 	}
 	if (i != CS_SUCCESS) {
 		cs_error(link->handle, RequestIO, i);
 		goto failed;
 	}
-	CS_CHECK(RequestIRQ, link->handle, &link->irq);
-	CS_CHECK(RequestConfiguration, link->handle, &link->conf);
+	CS_CHECK(RequestIRQ, pcmcia_request_irq(link->handle, &link->irq));
+	CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link->handle, &link->conf));
 
 	dev->irq = link->irq.AssignedIRQ;
 	dev->base_addr = link->io.BasePort1;
@@ -451,8 +451,8 @@
 	   the hardware address.  The future products may include a modem chip
 	   and put the address in the CIS. */
 	tuple.DesiredTuple = 0x88;
-	if (CardServices(GetFirstTuple, handle, &tuple) == CS_SUCCESS) {
-		CardServices(GetTupleData, handle, &tuple);
+	if (pcmcia_get_first_tuple(handle, &tuple) == CS_SUCCESS) {
+		pcmcia_get_tuple_data(handle, &tuple);
 		for (i = 0; i < 3; i++)
 			phys_addr[i] = htons(buf[i]);
 	} else {
@@ -466,9 +466,9 @@
 		}
 	}
 	tuple.DesiredTuple = CISTPL_VERS_1;
-	if (CardServices(GetFirstTuple, handle, &tuple) == CS_SUCCESS &&
-		CardServices(GetTupleData, handle, &tuple) == CS_SUCCESS &&
-		CardServices(ParseTuple, handle, &tuple, &parse) == CS_SUCCESS) {
+	if (pcmcia_get_first_tuple(handle, &tuple) == CS_SUCCESS &&
+		pcmcia_get_tuple_data(handle, &tuple) == CS_SUCCESS &&
+		pcmcia_parse_tuple(handle, &tuple, &parse) == CS_SUCCESS) {
 		cardname = parse.version_1.str + parse.version_1.ofs[1];
 	} else
 		cardname = "3Com 3c574";
@@ -564,9 +564,9 @@
 		return;
 	}
 
-	CardServices(ReleaseConfiguration, link->handle);
-	CardServices(ReleaseIO, link->handle, &link->io);
-	CardServices(ReleaseIRQ, link->handle, &link->irq);
+	pcmcia_release_configuration(link->handle);
+	pcmcia_release_io(link->handle, &link->io);
+	pcmcia_release_irq(link->handle, &link->irq);
 
 	link->state &= ~DEV_CONFIG;
 
@@ -608,7 +608,7 @@
 		if (link->state & DEV_CONFIG) {
 			if (link->open)
 				netif_device_detach(dev);
-			CardServices(ReleaseConfiguration, link->handle);
+			pcmcia_release_configuration(link->handle);
 		}
 		break;
 	case CS_EVENT_PM_RESUME:
@@ -616,7 +616,7 @@
 		/* Fall through... */
 	case CS_EVENT_CARD_RESET:
 		if (link->state & DEV_CONFIG) {
-			CardServices(RequestConfiguration, link->handle, &link->conf);
+			pcmcia_request_configuration(link->handle, &link->conf);
 			if (link->open) {
 				tc574_reset(dev);
 				netif_device_attach(dev);




[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  1:44 [PATCH 5/7] more CardServices() removals (drivers/net/wireless) Andres Salomon
@ 2003-12-24  2:28 ` Andrew Morton
  2003-12-24  2:34   ` Andres Salomon
  2003-12-24  2:38   ` Jeff Garzik
  0 siblings, 2 replies; 14+ messages in thread
From: Andrew Morton @ 2003-12-24  2:28 UTC (permalink / raw)
  To: Andres Salomon; +Cc: linux-kernel, linux-pcmcia, jt

Andres Salomon <dilinger@voxel.net> wrote:
>
> Part 5 of 7.
> 
> 
> [005-cs_remove.patch  text/x-patch (6824 bytes)]
>  Revision: linux--mainline--2.6--patch-18
>  Archive: dilinger@voxel.net--2003-spiral
>  Creator: Andres Salomon <dilinger@voxel.net>
>  Date: Sun Dec 21 21:08:50 EST 2003
>  Standard-date: 2003-12-22 02:08:50 GMT
>  Modified-files: drivers/net/pcmcia/3c574_cs.c

hmm, 3c574_cs was done in the other patch series.

I didn't receive patch 7/7.   Was there one?

Could you please aggregate these a bit?  One single patch for each driver
subdir, say.

Thanks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  2:28 ` Andrew Morton
@ 2003-12-24  2:34   ` Andres Salomon
  2003-12-24  2:38   ` Jeff Garzik
  1 sibling, 0 replies; 14+ messages in thread
From: Andres Salomon @ 2003-12-24  2:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-pcmcia, jt, corey


[-- Attachment #1.1: Type: text/plain, Size: 1011 bytes --]

Sorry, I'm having issues w/ my dialup (and 5 was definitely the wrong
patch).  I've attached 5 and 7 (I'm not sure if 7 ever made it
through).  I broke the patches up so that I could CC separate
maintainers, but my ISP's not making this easy for me.  My apologies if
anyone's getting these emails twice.




On Tue, 2003-12-23 at 21:28, Andrew Morton wrote:
> Andres Salomon <dilinger@voxel.net> wrote:
> >
> > Part 5 of 7.
> > 
> > 
> > [005-cs_remove.patch  text/x-patch (6824 bytes)]
> >  Revision: linux--mainline--2.6--patch-18
> >  Archive: dilinger@voxel.net--2003-spiral
> >  Creator: Andres Salomon <dilinger@voxel.net>
> >  Date: Sun Dec 21 21:08:50 EST 2003
> >  Standard-date: 2003-12-22 02:08:50 GMT
> >  Modified-files: drivers/net/pcmcia/3c574_cs.c
> 
> hmm, 3c574_cs was done in the other patch series.
> 
> I didn't receive patch 7/7.   Was there one?
> 
> Could you please aggregate these a bit?  One single patch for each driver
> subdir, say.
> 
> Thanks.
> 

[-- Attachment #1.2: 105-cs_remove.patch --]
[-- Type: text/x-patch, Size: 6026 bytes --]

Revision: linux--mainline--2.6--patch-34
Archive: dilinger@voxel.net--2003-spiral
Creator: Andres Salomon <dilinger@voxel.net>
Date: Tue Dec 23 19:04:02 EST 2003
Standard-date: 2003-12-24 00:04:02 GMT
Modified-files: drivers/net/wireless/wavelan_cs.c
New-patches: dilinger@voxel.net--2003-spiral/linux--mainline--2.6--patch-34
Summary: CardServices() removal, act 2, pt. 5.
Keywords: 

Remove calls to CardServices(), act 2, part 5; wavelan_cs.c.

* added files

    {arch}/linux/linux--mainline/linux--mainline--2.6/dilinger@voxel.net--2003-spiral/patch-log/patch-34

* modified files

--- orig/drivers/net/wireless/wavelan_cs.c
+++ mod/drivers/net/wireless/wavelan_cs.c
@@ -3802,7 +3802,7 @@
   printk(KERN_DEBUG "%s: ->wv_pcmcia_reset()\n", dev->name);
 #endif
 
-  i = CardServices(AccessConfigurationRegister, link->handle, &reg);
+  i = pcmcia_access_configuration_register(link->handle, &reg);
   if(i != CS_SUCCESS)
     {
       cs_error(link->handle, AccessConfigurationRegister, i);
@@ -3816,7 +3816,7 @@
 
   reg.Action = CS_WRITE;
   reg.Value = reg.Value | COR_SW_RESET;
-  i = CardServices(AccessConfigurationRegister, link->handle, &reg);
+  i = pcmcia_access_configuration_register(link->handle, &reg);
   if(i != CS_SUCCESS)
     {
       cs_error(link->handle, AccessConfigurationRegister, i);
@@ -3825,7 +3825,7 @@
       
   reg.Action = CS_WRITE;
   reg.Value = COR_LEVEL_IRQ | COR_CONFIG;
-  i = CardServices(AccessConfigurationRegister, link->handle, &reg);
+  i = pcmcia_access_configuration_register(link->handle, &reg);
   if(i != CS_SUCCESS)
     {
       cs_error(link->handle, AccessConfigurationRegister, i);
@@ -4018,16 +4018,16 @@
     {
       tuple.Attributes = 0;
       tuple.DesiredTuple = CISTPL_CONFIG;
-      i = CardServices(GetFirstTuple, handle, &tuple);
+      i = pcmcia_get_first_tuple(handle, &tuple);
       if(i != CS_SUCCESS)
 	break;
       tuple.TupleData = (cisdata_t *)buf;
       tuple.TupleDataMax = 64;
       tuple.TupleOffset = 0;
-      i = CardServices(GetTupleData, handle, &tuple);
+      i = pcmcia_get_tuple_data(handle, &tuple);
       if(i != CS_SUCCESS)
 	break;
-      i = CardServices(ParseTuple, handle, &tuple, &parse);
+      i = pcmcia_parse_tuple(handle, &tuple, &parse);
       if(i != CS_SUCCESS)
 	break;
       link->conf.ConfigBase = parse.config.base;
@@ -4045,7 +4045,7 @@
   link->state |= DEV_CONFIG;
   do
     {
-      i = CardServices(RequestIO, link->handle, &link->io);
+      i = pcmcia_request_io(link->handle, &link->io);
       if(i != CS_SUCCESS)
 	{
 	  cs_error(link->handle, RequestIO, i);
@@ -4056,7 +4056,7 @@
        * Now allocate an interrupt line.  Note that this does not
        * actually assign a handler to the interrupt.
        */
-      i = CardServices(RequestIRQ, link->handle, &link->irq);
+      i = pcmcia_request_irq(link->handle, &link->irq);
       if(i != CS_SUCCESS)
 	{
 	  cs_error(link->handle, RequestIRQ, i);
@@ -4068,7 +4068,7 @@
        * the I/O windows and the interrupt mapping.
        */
       link->conf.ConfigIndex = 1;
-      i = CardServices(RequestConfiguration, link->handle, &link->conf);
+      i = pcmcia_request_configuration(link->handle, &link->conf);
       if(i != CS_SUCCESS)
 	{
 	  cs_error(link->handle, RequestConfiguration, i);
@@ -4084,8 +4084,7 @@
       req.Attributes = WIN_DATA_WIDTH_8|WIN_MEMORY_TYPE_AM|WIN_ENABLE;
       req.Base = req.Size = 0;
       req.AccessSpeed = mem_speed;
-      link->win = (window_handle_t)link->handle;
-      i = CardServices(RequestWindow, &link->win, &req);
+      i = pcmcia_request_window(&link->handle, &req, &link->win);
       if(i != CS_SUCCESS)
 	{
 	  cs_error(link->handle, RequestWindow, i);
@@ -4096,7 +4095,7 @@
       dev->mem_end = dev->mem_start + req.Size;
 
       mem.CardOffset = 0; mem.Page = 0;
-      i = CardServices(MapMemPage, link->win, &mem);
+      i = pcmcia_map_mem_page(link->win, &mem);
       if(i != CS_SUCCESS)
 	{
 	  cs_error(link->handle, MapMemPage, i);
@@ -4170,10 +4169,10 @@
 
   /* Don't bother checking to see if these succeed or not */
   iounmap((u_char *)dev->mem_start);
-  CardServices(ReleaseWindow, link->win);
-  CardServices(ReleaseConfiguration, link->handle);
-  CardServices(ReleaseIO, link->handle, &link->io);
-  CardServices(ReleaseIRQ, link->handle, &link->irq);
+  pcmcia_release_window(link->win);
+  pcmcia_release_configuration(link->handle);
+  pcmcia_release_io(link->handle, &link->io);
+  pcmcia_release_irq(link->handle, &link->irq);
 
   link->state &= ~DEV_CONFIG;
 
@@ -4772,10 +4771,10 @@
   client_reg.event_callback_args.client_data = link;
 
 #ifdef DEBUG_CONFIG_INFO
-  printk(KERN_DEBUG "wavelan_attach(): almost done, calling CardServices\n");
+  printk(KERN_DEBUG "wavelan_attach(): almost done, calling pcmcia_register_client\n");
 #endif
 
-  ret = CardServices(RegisterClient, &link->handle, &client_reg);
+  ret = pcmcia_register_client(&link->handle, &client_reg);
   if(ret != 0)
     {
       cs_error(link->handle, RegisterClient, ret);
@@ -4826,7 +4825,7 @@
 
   /* Break the link with Card Services */
   if(link->handle)
-    CardServices(DeregisterClient, link->handle);
+    pcmcia_deregister_client(link->handle);
     
   /* Remove the interface data from the linked list */
   if(dev_list == link)
@@ -4955,7 +4954,7 @@
 	  {
       	    if(link->open)
 	      netif_device_detach(dev);
-      	    CardServices(ReleaseConfiguration, link->handle);
+      	    pcmcia_release_configuration(link->handle);
 	  }
 	break;
 
@@ -4965,7 +4964,7 @@
       case CS_EVENT_CARD_RESET:
 	if(link->state & DEV_CONFIG)
 	  {
-      	    CardServices(RequestConfiguration, link->handle, &link->conf);
+      	    pcmcia_request_configuration(link->handle, &link->conf);
       	    if(link->open)	/* If RESET -> True, If RESUME -> False ? */
 	      {
 		wv_hw_reset(dev);




[-- Attachment #1.3: 107-cs_remove.patch --]
[-- Type: text/x-patch, Size: 5466 bytes --]

Revision: linux--mainline--2.6--patch-36
Archive: dilinger@voxel.net--2003-spiral
Creator: Andres Salomon <dilinger@voxel.net>
Date: Tue Dec 23 19:17:46 EST 2003
Standard-date: 2003-12-24 00:17:46 GMT
Modified-files: drivers/net/wireless/ray_cs.c
New-patches: dilinger@voxel.net--2003-spiral/linux--mainline--2.6--patch-36
Summary: CardServices() removal, act 2, pt. 7.
Keywords: 

Ok, this isn't really a CardServices() removal patch; it looks like
someone already took care of this file.  However, the modified CS_CHECK()
macro doesn't fill in 'last_fn'.  This patch fixes that.

* added files

    {arch}/linux/linux--mainline/linux--mainline--2.6/dilinger@voxel.net--2003-spiral/patch-log/patch-36

* modified files

--- orig/drivers/net/wireless/ray_cs.c
+++ mod/drivers/net/wireless/ray_cs.c
@@ -420,7 +420,7 @@
     client_reg.Version = 0x0210;
     client_reg.event_callback_args.client_data = link;
 
-    DEBUG(2,"ray_cs ray_attach calling CardServices(RegisterClient...)\n");
+    DEBUG(2,"ray_cs ray_attach calling pcmcia_register_client(...)\n");
 
     init_timer(&local->timer);
 
@@ -490,8 +490,8 @@
     is received, to configure the PCMCIA socket, and to make the
     ethernet device available to the system.
 =============================================================================*/
-#define CS_CHECK(fn, args...) \
-while ((last_ret=fn(args))!=0) goto cs_failed
+#define CS_CHECK(fn, ret) \
+do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
 #define MAX_TUPLE_SIZE 128
 static void ray_config(dev_link_t *link)
 {
@@ -510,23 +510,23 @@
 
     /* This reads the card's CONFIG tuple to find its configuration regs */
     tuple.DesiredTuple = CISTPL_CONFIG;
-    CS_CHECK(pcmcia_get_first_tuple, handle, &tuple);
+    CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(handle, &tuple));
     tuple.TupleData = buf;
     tuple.TupleDataMax = MAX_TUPLE_SIZE;
     tuple.TupleOffset = 0;
-    CS_CHECK(pcmcia_get_tuple_data, handle, &tuple);
-    CS_CHECK(pcmcia_parse_tuple, handle, &tuple, &parse);
+    CS_CHECK(GetTupleData, pcmcia_get_tuple_data(handle, &tuple));
+    CS_CHECK(ParseTuple, pcmcia_parse_tuple(handle, &tuple, &parse));
     link->conf.ConfigBase = parse.config.base;
     link->conf.Present = parse.config.rmask[0];
 
     /* Determine card type and firmware version */
     buf[0] = buf[MAX_TUPLE_SIZE - 1] = 0;
     tuple.DesiredTuple = CISTPL_VERS_1;
-    CS_CHECK(pcmcia_get_first_tuple, handle, &tuple);
+    CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(handle, &tuple));
     tuple.TupleData = buf;
     tuple.TupleDataMax = MAX_TUPLE_SIZE;
     tuple.TupleOffset = 2;
-    CS_CHECK(pcmcia_get_tuple_data, handle, &tuple);
+    CS_CHECK(GetTupleData, pcmcia_get_tuple_data(handle, &tuple));
 
     for (i=0; i<tuple.TupleDataLen - 4; i++) 
         if (buf[i] == 0) buf[i] = ' ';
@@ -538,22 +538,22 @@
     /* Now allocate an interrupt line.  Note that this does not
        actually assign a handler to the interrupt.
     */
-    CS_CHECK(pcmcia_request_irq, link->handle, &link->irq);
+    CS_CHECK(RequestIRQ, pcmcia_request_irq(link->handle, &link->irq));
     dev->irq = link->irq.AssignedIRQ;
     
     /* This actually configures the PCMCIA socket -- setting up
        the I/O windows and the interrupt mapping.
     */
-    CS_CHECK(pcmcia_request_configuration, link->handle, &link->conf);
+    CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link->handle, &link->conf));
 
 /*** Set up 32k window for shared memory (transmit and control) ************/
     req.Attributes = WIN_DATA_WIDTH_8 | WIN_MEMORY_TYPE_CM | WIN_ENABLE | WIN_USE_WAIT;
     req.Base = 0;
     req.Size = 0x8000;
     req.AccessSpeed = ray_mem_speed;
-    CS_CHECK(pcmcia_request_window, &link->handle, &req, &link->win);
+    CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &link->win));
     mem.CardOffset = 0x0000; mem.Page = 0;
-    CS_CHECK(pcmcia_map_mem_page, link->win, &mem);
+    CS_CHECK(MapMemPage, pcmcia_map_mem_page(link->win, &mem));
     local->sram = (UCHAR *)(ioremap(req.Base,req.Size));
 
 /*** Set up 16k window for shared memory (receive buffer) ***************/
@@ -561,9 +561,9 @@
     req.Base = 0;
     req.Size = 0x4000;
     req.AccessSpeed = ray_mem_speed;
-    CS_CHECK(pcmcia_request_window, &link->handle, &req, &local->rmem_handle);
+    CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &local->rmem_handle));
     mem.CardOffset = 0x8000; mem.Page = 0;
-    CS_CHECK(pcmcia_map_mem_page, local->rmem_handle, &mem);
+    CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->rmem_handle, &mem));
     local->rmem = (UCHAR *)(ioremap(req.Base,req.Size));
 
 /*** Set up window for attribute memory ***********************************/
@@ -571,9 +571,9 @@
     req.Base = 0;
     req.Size = 0x1000;
     req.AccessSpeed = ray_mem_speed;
-    CS_CHECK(pcmcia_request_window, &link->handle, &req, &local->amem_handle);
+    CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &local->amem_handle));
     mem.CardOffset = 0x0000; mem.Page = 0;
-    CS_CHECK(pcmcia_map_mem_page, local->amem_handle, &mem);
+    CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->amem_handle, &mem));
     local->amem = (UCHAR *)(ioremap(req.Base,req.Size));
 
     DEBUG(3,"ray_config sram=%p\n",local->sram);




[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  2:28 ` Andrew Morton
  2003-12-24  2:34   ` Andres Salomon
@ 2003-12-24  2:38   ` Jeff Garzik
  2003-12-24  2:48     ` Andrew Morton
                       ` (2 more replies)
  1 sibling, 3 replies; 14+ messages in thread
From: Jeff Garzik @ 2003-12-24  2:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andres Salomon, linux-kernel, linux-pcmcia, jt

Andrew Morton wrote:
> Andres Salomon <dilinger@voxel.net> wrote:
> 
>>Part 5 of 7.
>>
>>
>>[005-cs_remove.patch  text/x-patch (6824 bytes)]
>> Revision: linux--mainline--2.6--patch-18
>> Archive: dilinger@voxel.net--2003-spiral
>> Creator: Andres Salomon <dilinger@voxel.net>
>> Date: Sun Dec 21 21:08:50 EST 2003
>> Standard-date: 2003-12-22 02:08:50 GMT
>> Modified-files: drivers/net/pcmcia/3c574_cs.c
> 
> 
> hmm, 3c574_cs was done in the other patch series.
> 
> I didn't receive patch 7/7.   Was there one?
> 
> Could you please aggregate these a bit?  One single patch for each driver
> subdir, say.


Ummm...  there are many changes to the pcmcia net drivers in my 
net-drivers-2.5-exp queue.  All can be classified as fixes, to a greater 
or lesser degree, and I would put those at a higher priority than API 
cleanups and such.  Mainly patches from Russell King and Al Viro, but 
also some random fixes from lkml.

For the net drivers, please coordinate with me (and perhaps Russell 
King), otherwise it will turn into an even bigger mess.

My latest patchkits are always posted at
http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/

	Jeff




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  2:38   ` Jeff Garzik
@ 2003-12-24  2:48     ` Andrew Morton
  2003-12-24  3:04       ` Jeff Garzik
  2003-12-24  7:49     ` [PATCH] final CardServices() removal patches Andres Salomon
  2003-12-24  9:29     ` [PATCH 5/7] more CardServices() removals (drivers/net/wireless) Arjan van de Ven
  2 siblings, 1 reply; 14+ messages in thread
From: Andrew Morton @ 2003-12-24  2:48 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: dilinger, linux-kernel, linux-pcmcia, jt

Jeff Garzik <jgarzik@pobox.com> wrote:
>
> Ummm...  there are many changes to the pcmcia net drivers in my 
>  net-drivers-2.5-exp queue.

That's OK; I just want to get all these ducks lined up in one place at this
time.  As we've decided to implement this API switchover we do need to make
sure we got everything.  Or at least understand which bits are missing and
why.

>  My latest patchkits are always posted at
>  http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/

Nothing there for 2.6.0?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  2:48     ` Andrew Morton
@ 2003-12-24  3:04       ` Jeff Garzik
  2003-12-24  4:23         ` Andrew Morton
  0 siblings, 1 reply; 14+ messages in thread
From: Jeff Garzik @ 2003-12-24  3:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: dilinger, linux-kernel, linux-pcmcia, jt

Andrew Morton wrote:
>> My latest patchkits are always posted at
>> http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/
> 
> 
> Nothing there for 2.6.0?


A simple no-conflicts rediff, but ask and ye shall receive...

Patch:
http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-netdrvr-exp1.patch.bz2

Changelog:
http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-netdrvr-exp1.log

BK repo:
http://gkernel.bkbits.net/net-drivers-2.5-exp


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  3:04       ` Jeff Garzik
@ 2003-12-24  4:23         ` Andrew Morton
  2003-12-24  4:33           ` Matt Mackall
  0 siblings, 1 reply; 14+ messages in thread
From: Andrew Morton @ 2003-12-24  4:23 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: dilinger, linux-kernel, Matt Mackall, george anzinger

Jeff Garzik <jgarzik@pobox.com> wrote:
>
> Patch:
>  http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-netdrvr-exp1.patch.bz2

Thanks, I mmified that.  It let me drop a shower of other stuff, which is
always welcome.  Please send in new versions as-and-when needed.

I dropped all of kgdboe:

	kgdb-over-ethernet.patch
	kgdb-over-ethernet-fixes.patch
	kgdb-CONFIG_NET_POLL_CONTROLLER.patch
	kgdb-handle-stopped-NICs.patch
	eepro100-poll-controller.patch
	tlan-poll_controller.patch
	tulip-poll_controller.patch
	tg3-poll_controller.patch
	8139too-poll_controller.patch
	kgdb-eth-smp-fix.patch
	kgdb-eth-reattach.patch
	kgdb-skb_reserve-fix.patch

Matt, would you be able to take a look at resurrecting kgdboe based on the
netpoll infrastructure sometime please?

George, I'm sorely tempted to fold all of these:

	kgdb-buff-too-big.patch
	kgdb-warning-fix.patch
	kgdb-build-fix.patch
	kgdb-spinlock-fix.patch
	kgdb-fix-debug-info.patch
	kgdb-cpumask_t.patch
	kgdb-x86_64-fixes.patch

into the base kgdb patch.   Beware ;)


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  4:23         ` Andrew Morton
@ 2003-12-24  4:33           ` Matt Mackall
  2003-12-25  9:45             ` George Anzinger
  0 siblings, 1 reply; 14+ messages in thread
From: Matt Mackall @ 2003-12-24  4:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Jeff Garzik, dilinger, linux-kernel, george anzinger

On Tue, Dec 23, 2003 at 08:23:05PM -0800, Andrew Morton wrote:
> Jeff Garzik <jgarzik@pobox.com> wrote:
> >
> > Patch:
> >  http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-netdrvr-exp1.patch.bz2
> 
> Thanks, I mmified that.  It let me drop a shower of other stuff, which is
> always welcome.  Please send in new versions as-and-when needed.
> 
> I dropped all of kgdboe:
> 
> 	kgdb-over-ethernet.patch
> 	kgdb-over-ethernet-fixes.patch
> 	kgdb-CONFIG_NET_POLL_CONTROLLER.patch
> 	kgdb-handle-stopped-NICs.patch
> 	eepro100-poll-controller.patch
> 	tlan-poll_controller.patch
> 	tulip-poll_controller.patch
> 	tg3-poll_controller.patch
> 	8139too-poll_controller.patch
> 	kgdb-eth-smp-fix.patch
> 	kgdb-eth-reattach.patch
> 	kgdb-skb_reserve-fix.patch
> 
> Matt, would you be able to take a look at resurrecting kgdboe based on the
> netpoll infrastructure sometime please?

Yep, I'm working on it this very moment for my -tiny tree on top of
Jeff's latest. Should have another cut soon.
 
> George, I'm sorely tempted to fold all of these:
> 
> 	kgdb-buff-too-big.patch
> 	kgdb-warning-fix.patch
> 	kgdb-build-fix.patch
> 	kgdb-spinlock-fix.patch
> 	kgdb-fix-debug-info.patch
> 	kgdb-cpumask_t.patch
> 	kgdb-x86_64-fixes.patch
>
> into the base kgdb patch.   Beware ;)

I did that here too, and I believe mbligh has as well.

-- 
Matt Mackall : http://www.selenic.com : Linux development and consulting

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH] final CardServices() removal patches
  2003-12-24  2:38   ` Jeff Garzik
  2003-12-24  2:48     ` Andrew Morton
@ 2003-12-24  7:49     ` Andres Salomon
  2003-12-24  9:29     ` [PATCH 5/7] more CardServices() removals (drivers/net/wireless) Arjan van de Ven
  2 siblings, 0 replies; 14+ messages in thread
From: Andres Salomon @ 2003-12-24  7:49 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, linux-pcmcia, maxk, marcel, kkeil, mtd, linux-scsi


[-- Attachment #1.1: Type: text/plain, Size: 1772 bytes --]

Remove calls to CardServices(); final.

This removes the CardServices() calls the rest of the tree, as well as
CardServices itself from cs.c and cs.h.  My previous patches, along w/
Arjan's patch for ide-cs.c and Russell's patch for serial_cs.c should
remove all traces of it.  I've attached a gzipped tarball to hopefully
make things easier.

Files touched:
                                                                            201-cs_remove.patch:+++ mod/sound/pcmcia/vx/vx_entry.c
202-cs_remove.patch:+++ mod/drivers/bluetooth/bluecard_cs.c
202-cs_remove.patch:+++ mod/drivers/bluetooth/bt3c_cs.c
202-cs_remove.patch:+++ mod/drivers/bluetooth/btuart_cs.c
202-cs_remove.patch:+++ mod/drivers/bluetooth/dtl1_cs.c
203-cs_remove.patch:+++ mod/drivers/isdn/hardware/avm/avm_cs.c
203-cs_remove.patch:+++ mod/drivers/isdn/hisax/avma1_cs.c
203-cs_remove.patch:+++ mod/drivers/isdn/hisax/elsa_cs.c
203-cs_remove.patch:+++ mod/drivers/isdn/hisax/sedlbauer_cs.c
204-cs_remove.patch:+++ mod/drivers/parport/parport_cs.c
205-cs_remove.patch:+++ mod/drivers/telephony/ixj_pcmcia.c
206-cs_remove.patch:+++ mod/drivers/mtd/maps/pcmciamtd.c
207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/aha152x_stub.c
207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/fdomain_stub.c
207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/nsp_cs.c
207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/nsp_cs.h
207-cs_remove.patch:+++ mod/drivers/scsi/pcmcia/qlogic_stub.c
208-cs_remove.patch:+++ mod/drivers/char/pcmcia/synclink_cs.c
209-cs_remove.patch:+++ mod/drivers/pcmcia/cs.c
209-cs_remove.patch:+++ mod/include/pcmcia/cs.h

(Andrew, if you have problems w/ mime encoding or anything, you can also
grab patches from http://sloth.voxel.net/~dilinger/kernel/cs_removal/)


[-- Attachment #1.2: cs_remove3.tar.gz --]
[-- Type: application/x-compressed-tar, Size: 12097 bytes --]

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  2:38   ` Jeff Garzik
  2003-12-24  2:48     ` Andrew Morton
  2003-12-24  7:49     ` [PATCH] final CardServices() removal patches Andres Salomon
@ 2003-12-24  9:29     ` Arjan van de Ven
  2 siblings, 0 replies; 14+ messages in thread
From: Arjan van de Ven @ 2003-12-24  9:29 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, Andres Salomon, linux-kernel, linux-pcmcia, jt

[-- Attachment #1: Type: text/plain, Size: 1149 bytes --]


> Ummm...  there are many changes to the pcmcia net drivers in my 
> net-drivers-2.5-exp queue.  All can be classified as fixes, to a greater 
> or lesser degree, and I would put those at a higher priority than API 
> cleanups and such. 

This set is not so much about API cleanup as about fixing a REAL bug:
CardServices() has a very broken prototype that miscompiles on amd64 on
possibly others (even x86 with the right gcc flags).

Basically the function is implemented like this:

int CardServices(int func, void *a1, void *a2, void *a3)
{
...
}

however the prototype that drivers see is using varargs like this:

extern int CardServices(int func, ...);

varargs functions on amd64 have a different calling convention than
"normal" functions so this mismatches the actual implementation's
calling convention and goes west quite spectacular. The same might be
true for other architectures, and is true for x86 when you use
-mregparm.

You could argue we should just fix CardServices() instead, but well once
you do that you might as well kill it; even in 2.4 it's an optional API
which abstracts the real API.



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-24  4:33           ` Matt Mackall
@ 2003-12-25  9:45             ` George Anzinger
  2003-12-25  9:55               ` Andrew Morton
  2003-12-25 12:36               ` Matt Mackall
  0 siblings, 2 replies; 14+ messages in thread
From: George Anzinger @ 2003-12-25  9:45 UTC (permalink / raw)
  To: Matt Mackall; +Cc: Andrew Morton, Jeff Garzik, dilinger, linux-kernel

Matt Mackall wrote:
> On Tue, Dec 23, 2003 at 08:23:05PM -0800, Andrew Morton wrote:
> 
>>Jeff Garzik <jgarzik@pobox.com> wrote:
>>
>>>Patch:
>>> http://www.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-netdrvr-exp1.patch.bz2
>>
>>Thanks, I mmified that.  It let me drop a shower of other stuff, which is
>>always welcome.  Please send in new versions as-and-when needed.
>>
>>I dropped all of kgdboe:
>>
>>	kgdb-over-ethernet.patch
>>	kgdb-over-ethernet-fixes.patch
>>	kgdb-CONFIG_NET_POLL_CONTROLLER.patch
>>	kgdb-handle-stopped-NICs.patch
>>	eepro100-poll-controller.patch
>>	tlan-poll_controller.patch
>>	tulip-poll_controller.patch
>>	tg3-poll_controller.patch
>>	8139too-poll_controller.patch
>>	kgdb-eth-smp-fix.patch
>>	kgdb-eth-reattach.patch
>>	kgdb-skb_reserve-fix.patch
>>
>>Matt, would you be able to take a look at resurrecting kgdboe based on the
>>netpoll infrastructure sometime please?
> 
> 
> Yep, I'm working on it this very moment for my -tiny tree on top of
> Jeff's latest. Should have another cut soon.
>  
> 
>>George, I'm sorely tempted to fold all of these:
>>
>>	kgdb-buff-too-big.patch
>>	kgdb-warning-fix.patch
>>	kgdb-build-fix.patch
>>	kgdb-spinlock-fix.patch
>>	kgdb-fix-debug-info.patch
>>	kgdb-cpumask_t.patch
>>	kgdb-x86_64-fixes.patch
>>
>>into the base kgdb patch.   Beware ;)
> 
> 
> I did that here too, and I believe mbligh has as well.
> 
I got side tracked by a customer with money :)  The fold is fine with me, but I 
would like to know what went in.

By the way, in my looking at the network link stuff, I started wondering if it 
could not be done without modifying the card stuff.  Here is what I see:

The poll routine just calls the interrupt handler.  We only need the address of 
that routine and a generic poll function to do the indirect call.  That address, 
once the link is up, can be found in the interrupt tables using the irq.

I haven't looked in detail at where we might find the address earlier, but I 
suspect it may be possible.

There is an issue around when we can start talking to gdb.  I am not sure when 
the net cards are initialized, but it is after memory is available from the slab 
manager.  I am not sure what else needs to be up, need help here.  I keep 
finding myself wondering about a small memory manager to allow the network card 
to come up a bit sooner (like first C code).

We would also need to arrange to have the needed network parameters at that 
time, but we can do this using the CONFIG stuff, then override with command line 
if that is desired.

Thoughts and hints are welcome.


-- 
George Anzinger   george@mvista.com
High-res-timers:  http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-25  9:45             ` George Anzinger
@ 2003-12-25  9:55               ` Andrew Morton
  2003-12-25 12:36               ` Matt Mackall
  1 sibling, 0 replies; 14+ messages in thread
From: Andrew Morton @ 2003-12-25  9:55 UTC (permalink / raw)
  To: George Anzinger; +Cc: mpm, jgarzik, dilinger, linux-kernel

George Anzinger <george@mvista.com> wrote:
>
> >>George, I'm sorely tempted to fold all of these:
>  >>
>  >>	kgdb-buff-too-big.patch
>  >>	kgdb-warning-fix.patch
>  >>	kgdb-build-fix.patch
>  >>	kgdb-spinlock-fix.patch
>  >>	kgdb-fix-debug-info.patch
>  >>	kgdb-cpumask_t.patch
>  >>	kgdb-x86_64-fixes.patch
>  >>
>  >>into the base kgdb patch.   Beware ;)
>  > 
>  > 
>  > I did that here too, and I believe mbligh has as well.
>  > 
>  I got side tracked by a customer with money :)

A what?

> The fold is fine with me, but I would like to know what went in.

I'll send you the diffs when I do it.

> 
>  By the way, in my looking at the network link stuff,
>

That's all changing.  It will be based on the netpoll infrstructure, which
is also used by netconsole.  Matt has a little documentation file and for
kgdb and I assume the netpoll code includes documentation of the kernel
parameter format to supply IP addresses and such.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-25  9:45             ` George Anzinger
  2003-12-25  9:55               ` Andrew Morton
@ 2003-12-25 12:36               ` Matt Mackall
  2003-12-26 22:29                 ` George Anzinger
  1 sibling, 1 reply; 14+ messages in thread
From: Matt Mackall @ 2003-12-25 12:36 UTC (permalink / raw)
  To: George Anzinger; +Cc: Andrew Morton, Jeff Garzik, dilinger, linux-kernel

On Thu, Dec 25, 2003 at 01:45:58AM -0800, George Anzinger wrote:
> 
> By the way, in my looking at the network link stuff, I started wondering if 
> it could not be done without modifying the card stuff.  Here is what I see:
> 
> The poll routine just calls the interrupt handler.  We only need the 
> address of that routine and a generic poll function to do the indirect 
> call.  That address, once the link is up, can be found in the interrupt 
> tables using the irq.

Netpoll did exactly this in an earlier incarnation, but Jeff
eventually convinced me it was problematic.

-- 
Matt Mackall : http://www.selenic.com : Linux development and consulting

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] more CardServices() removals (drivers/net/wireless)
  2003-12-25 12:36               ` Matt Mackall
@ 2003-12-26 22:29                 ` George Anzinger
  0 siblings, 0 replies; 14+ messages in thread
From: George Anzinger @ 2003-12-26 22:29 UTC (permalink / raw)
  To: Matt Mackall; +Cc: Andrew Morton, Jeff Garzik, dilinger, linux-kernel

Matt Mackall wrote:
> On Thu, Dec 25, 2003 at 01:45:58AM -0800, George Anzinger wrote:
> 
>>By the way, in my looking at the network link stuff, I started wondering if 
>>it could not be done without modifying the card stuff.  Here is what I see:
>>
>>The poll routine just calls the interrupt handler.  We only need the 
>>address of that routine and a generic poll function to do the indirect 
>>call.  That address, once the link is up, can be found in the interrupt 
>>tables using the irq.
> 
> 
> Netpoll did exactly this in an earlier incarnation, but Jeff
> eventually convinced me it was problematic.
> 
I suppose :(  But it would make driver modification go away.

-- 
George Anzinger   george@mvista.com
High-res-timers:  http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-12-26 22:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-24  1:44 [PATCH 5/7] more CardServices() removals (drivers/net/wireless) Andres Salomon
2003-12-24  2:28 ` Andrew Morton
2003-12-24  2:34   ` Andres Salomon
2003-12-24  2:38   ` Jeff Garzik
2003-12-24  2:48     ` Andrew Morton
2003-12-24  3:04       ` Jeff Garzik
2003-12-24  4:23         ` Andrew Morton
2003-12-24  4:33           ` Matt Mackall
2003-12-25  9:45             ` George Anzinger
2003-12-25  9:55               ` Andrew Morton
2003-12-25 12:36               ` Matt Mackall
2003-12-26 22:29                 ` George Anzinger
2003-12-24  7:49     ` [PATCH] final CardServices() removal patches Andres Salomon
2003-12-24  9:29     ` [PATCH 5/7] more CardServices() removals (drivers/net/wireless) Arjan van de Ven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox