From: Henrique Gobbi <henrique2.gobbi@cyclades.com>
To: davej@codemonkey.org.uk
Cc: torvalds@transmeta.com, linux-kernel@vger.kernel.org
Subject: Re: cyclades region handling updates from 2.4
Date: Mon, 24 Mar 2003 09:55:02 +0000 [thread overview]
Message-ID: <3E7ED5F6.9090301@cyclades.com> (raw)
In-Reply-To: 200303241641.h2OGft35008188@deviant.impure.org.uk
Hello,
What is this patch for ? How extensively did you test it.
This driver is working and I don't wanna it broken. There are too many
customers counting on it.
Another thing. Why do you want to put Ivan Passos as the maintainer ? I
talk to him everyday and I know he is not, and he doesn't want to be,
the maintainer of the driver.
kind regards
Henrique
cyclades.c maintainer
davej@codemonkey.org.uk wrote:
> diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/cyclades.c linux-2.5/drivers/char/cyclades.c
> --- bk-linus/drivers/char/cyclades.c 2003-03-08 09:56:57.000000000 +0000
> +++ linux-2.5/drivers/char/cyclades.c 2003-03-17 23:42:15.000000000 +0000
> @@ -12,7 +12,7 @@ static char rcsid[] =
> *
> * Initially written by Randolph Bentson <bentson@grieg.seaslug.org>.
> * Modified and maintained by Marcio Saito <marcio@cyclades.com>.
> - * Currently maintained by Henrique Gobbi <henrique.gobbi@cyclades.com>.
> + * Currently maintained by Ivan Passos <ivan@cyclades.com>.
> *
> * For Technical support and installation problems, please send e-mail
> * to support@cyclades.com.
> @@ -883,7 +883,9 @@ static void cyz_poll(unsigned long);
> static long cyz_polling_cycle = CZ_DEF_POLL;
>
> static int cyz_timeron = 0;
> -static struct timer_list cyz_timerlist = TIMER_INITIALIZER(cyz_poll, 0, 0);
> +static struct timer_list cyz_timerlist = {
> + .function = cyz_poll
> +};
>
> #else /* CONFIG_CYZ_INTR */
> static void cyz_rx_restart(unsigned long);
> @@ -4944,17 +4946,16 @@ cy_detect_pci(void)
>
> struct pci_dev *pdev = NULL;
> unsigned char cyy_rev_id;
> - unsigned char cy_pci_irq = 0;
> - uclong cy_pci_phys0, cy_pci_phys1, cy_pci_phys2;
> + unsigned char cy_pci_irq = 0;
> + uclong cy_pci_phys0, cy_pci_phys2;
> uclong cy_pci_addr0, cy_pci_addr2;
> - unsigned short i,j,cy_pci_nchan, plx_ver;
> - unsigned short device_id,dev_index = 0;
> + unsigned short i,j,cy_pci_nchan, plx_ver;
> + unsigned short device_id,dev_index = 0;
> uclong mailbox;
> uclong Ze_addr0[NR_CARDS], Ze_addr2[NR_CARDS], ZeIndex = 0;
> uclong Ze_phys0[NR_CARDS], Ze_phys2[NR_CARDS];
> - unsigned char Ze_irq[NR_CARDS];
> - struct resource *resource;
> - unsigned long res_start, res_len;
> + unsigned char Ze_irq[NR_CARDS];
> + struct pci_dev *Ze_pdev[NR_CARDS];
>
> for (i = 0; i < NR_CARDS; i++) {
> /* look for a Cyclades card by vendor and device id */
> @@ -4976,7 +4977,6 @@ cy_detect_pci(void)
> /* read PCI configuration area */
> cy_pci_irq = pdev->irq;
> cy_pci_phys0 = pci_resource_start(pdev, 0);
> - cy_pci_phys1 = pci_resource_start(pdev, 1);
> cy_pci_phys2 = pci_resource_start(pdev, 2);
> pci_read_config_byte(pdev, PCI_REVISION_ID, &cyy_rev_id);
>
> @@ -5002,15 +5002,10 @@ cy_detect_pci(void)
> /* Although we don't use this I/O region, we should
> request it from the kernel anyway, to avoid problems
> with other drivers accessing it. */
> - resource = request_region(cy_pci_phys1,
> - CyPCI_Yctl, "Cyclom-Y");
> - if (resource == NULL) {
> - printk(KERN_ERR "cyclades: failed to allocate IO "
> - "resource at 0x%lx\n", cy_pci_phys1);
> + if (pci_request_regions(pdev, "Cyclom-Y") != 0) {
> + printk(KERN_ERR "cyclades: failed to reserve PCI resources\n");
> continue;
> }
> - res_start = cy_pci_phys1;
> - res_len = CyPCI_Yctl;
>
> #if defined(__alpha__)
> if (device_id == PCI_DEVICE_ID_CYCLOM_Y_Lo) { /* below 1M? */
> @@ -5081,10 +5076,7 @@ cy_detect_pci(void)
> cy_card[j].bus_index = 1;
> cy_card[j].first_line = cy_next_channel;
> cy_card[j].num_chips = cy_pci_nchan/4;
> - cy_card[j].resource = resource;
> - cy_card[j].res_start = res_start;
> - cy_card[j].res_len = res_len;
> - resource = NULL; /* For next card */
> + cy_card[j].pdev = pdev;
>
> /* enable interrupts in the PCI interface */
> plx_ver = cy_readb(cy_pci_addr2 + CyPLX_VER) & 0x0f;
> @@ -5164,15 +5156,10 @@ cy_detect_pci(void)
> /* Although we don't use this I/O region, we should
> request it from the kernel anyway, to avoid problems
> with other drivers accessing it. */
> - resource = request_region(cy_pci_phys1,
> - CyPCI_Zctl, "Cyclades-Z");
> - if (resource == NULL) {
> - printk(KERN_ERR "cyclades: failed ot allocate IO resource "
> - "at 0x%lx\n", cy_pci_phys1);
> + if (pci_request_regions(pdev, "Cyclades-Z") != 0) {
> + printk(KERN_ERR "cyclades: failed to reserve PCI resources\n");
> continue;
> }
> - res_start = cy_pci_phys1;
> - res_len = CyPCI_Zctl;
>
> if (mailbox == ZE_V1) {
> cy_pci_addr2 = (ulong)ioremap(cy_pci_phys2, CyPCI_Ze_win);
> @@ -5187,6 +5174,7 @@ cy_detect_pci(void)
> Ze_addr0[ZeIndex] = cy_pci_addr0;
> Ze_addr2[ZeIndex] = cy_pci_addr2;
> Ze_irq[ZeIndex] = cy_pci_irq;
> + Ze_pdev[ZeIndex] = pdev;
> ZeIndex++;
> }
> i--;
> @@ -5271,10 +5259,7 @@ cy_detect_pci(void)
> cy_card[j].bus_index = 1;
> cy_card[j].first_line = cy_next_channel;
> cy_card[j].num_chips = -1;
> - cy_card[j].resource = resource;
> - cy_card[j].res_start = res_start;
> - cy_card[j].res_len = res_len;
> - resource = NULL; /* For next card */
> + cy_card[j].pdev = pdev;
>
> /* print message */
> #ifdef CONFIG_CYZ_INTR
> @@ -5302,12 +5287,14 @@ cy_detect_pci(void)
> cy_pci_addr0 = Ze_addr0[0];
> cy_pci_addr2 = Ze_addr2[0];
> cy_pci_irq = Ze_irq[0];
> + pdev = Ze_pdev[0];
> for (j = 0 ; j < ZeIndex-1 ; j++) {
> Ze_phys0[j] = Ze_phys0[j+1];
> Ze_phys2[j] = Ze_phys2[j+1];
> Ze_addr0[j] = Ze_addr0[j+1];
> Ze_addr2[j] = Ze_addr2[j+1];
> Ze_irq[j] = Ze_irq[j+1];
> + Ze_pdev[j] = Ze_pdev[j+1];
> }
> ZeIndex--;
> mailbox = (uclong)cy_readl(&((struct RUNTIME_9060 *)
> @@ -5365,6 +5352,7 @@ cy_detect_pci(void)
> cy_card[j].bus_index = 1;
> cy_card[j].first_line = cy_next_channel;
> cy_card[j].num_chips = -1;
> + cy_card[j].pdev = pdev;
>
> /* print message */
> #ifdef CONFIG_CYZ_INTR
> @@ -5797,8 +5785,8 @@ cy_cleanup_module(void)
> #endif /* CONFIG_CYZ_INTR */
> )
> free_irq(cy_card[i].irq, &cy_card[i]);
> - if (cy_card[i].resource)
> - release_region(cy_card[i].res_start, cy_card[i].res_len);
> + if (cy_card[i].pdev)
> + pci_release_regions(cy_card[i].pdev);
> }
> }
> if (tmp_buf) {
> diff -urpN --exclude-from=/home/davej/.exclude bk-linus/include/linux/cyclades.h linux-2.5/include/linux/cyclades.h
> --- bk-linus/include/linux/cyclades.h 2003-03-08 09:57:57.000000000 +0000
> +++ linux-2.5/include/linux/cyclades.h 2003-03-08 07:24:39.000000000 +0000
> @@ -515,9 +515,7 @@ struct cyclades_card {
> int nports; /* Number of ports in the card */
> int bus_index; /* address shift - 0 for ISA, 1 for PCI */
> int intr_enabled; /* FW Interrupt flag - 0 disabled, 1 enabled */
> - struct resource *resource;
> - unsigned long res_start;
> - unsigned long res_len;
> + struct pci_dev *pdev;
> #ifdef __KERNEL__
> spinlock_t card_lock;
> #else
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
regards
--
Henrique Gobbi
Software Engineer
Cyclades Corporation
41829 Albrae St
Fremont, CA 94538
next prev parent reply other threads:[~2003-03-24 17:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-24 16:41 cyclades region handling updates from 2.4 davej
2003-03-24 9:55 ` Henrique Gobbi [this message]
2003-03-24 18:02 ` Dave Jones
2003-03-24 10:11 ` Henrique Gobbi
2003-03-24 18:28 ` Dave Jones
2003-03-24 18:49 ` Henrique Gobbi
2003-03-24 19:13 ` Dave Jones
2003-03-24 22:37 ` Andrew Morton
2003-03-24 20:42 ` Dave Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E7ED5F6.9090301@cyclades.com \
--to=henrique2.gobbi@cyclades.com \
--cc=davej@codemonkey.org.uk \
--cc=henrique.gobbi@cyclades.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.