[2.6 patch] pm3fb: remove kernel 2.2 code

From: Adrian Bunk (bunk_at_fs.tum.de)
Date: 02/08/04

  • Next message: Adrian Bunk: "[patch] s390: remove a kernel 2.2 #ifdef"
    Date:	Sun, 8 Feb 2004 02:06:09 +0100
    To: James Simmons <jsimmons@infradead.org>, Andrew Morton <akpm@osdl.org>
    
    

    The patch below removes kernel 2.2 code from pm3fb.{c,h}.

    It also removes KERNEL_2_4 and KERNEL_2_5 since all places where this
    was used had a
      #if (defined KERNEL_2_4) || (defined KERNEL_2_5)

    diffstat output:
     drivers/video/pm3fb.c | 287 +++++++-----------------------------------
     include/video/pm3fb.h | 40 -----
     2 files changed, 54 insertions(+), 273 deletions(-)

    Please apply
    Adrian

    --- linux-2.6.2-mm1/include/video/pm3fb.h.old 2004-02-07 21:50:06.000000000 +0100
    +++ linux-2.6.2-mm1/include/video/pm3fb.h 2004-02-07 22:01:37.000000000 +0100
    @@ -1119,34 +1119,6 @@
     /* ***** pm3fb useful define and macro ***** */
     /* ***************************************** */
     
    -/* kernel -specific definitions */
    -/* what kernel is this ? */
    -#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)))
    -#define KERNEL_2_5
    -#endif
    -
    -#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)))
    -#define KERNEL_2_4
    -#endif
    -
    -#if ((LINUX_VERSION_CODE >= KERNEL_VERSION(2,2,0)) && (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0)))
    -#define KERNEL_2_2
    -/* pci_resource_start, available in 2.2.18 */
    -#include <linux/kcomp.h>
    -#ifdef CONFIG_FB_OF
    -#define SUPPORT_FB_OF
    -#endif
    -#endif
    -
    -#if (!defined(KERNEL_2_2)) && (!defined(KERNEL_2_4)) && (!defined(KERNEL_2_5))
    -#error "Only kernel 2.2.x, kernel 2.4.y and kernel 2.5.z might work"
    -#endif
    -
    -/* not sure if/why it's needed. doesn't work without on my PowerMac... */
    -#ifdef __BIG_ENDIAN
    -#define MUST_BYTESWAP
    -#endif
    -
     /* permedia3 -specific definitions */
     #define PM3_SCALE_TO_CLOCK(pr, fe, po) ((2 * PM3_REF_CLOCK * fe) / (pr * (1 << (po))))
     
    @@ -1203,19 +1175,9 @@
     /* ******************************************** */
     /* ***** A bunch of register-access macro ***** */
     /* ******************************************** */
    -#ifdef KERNEL_2_2
    -#ifdef MUST_BYTESWAP /* we are writing big_endian to big_endian through a little_endian macro */
    -#define PM3_READ_REG(r) __swab32(readl((l_fb_info->vIOBase + r)))
    -#define PM3_WRITE_REG(r, v) writel(__swab32(v), (l_fb_info->vIOBase + r))
    -#else /* MUST_BYTESWAP */
    -#define PM3_WRITE_REG(r, v) writel(v, (l_fb_info->vIOBase + r))
    -#define PM3_READ_REG(r) readl((l_fb_info->vIOBase + r))
    -#endif /* MUST_BYTESWAP */
    -#endif /* KERNEL_2_2 */
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5) /* native-endian access */
    +
     #define PM3_WRITE_REG(r, v) fb_writel(v, (l_fb_info->vIOBase + r))
     #define PM3_READ_REG(r) fb_readl((l_fb_info->vIOBase + r))
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
     
     
     #define depth2bpp(d) ((d + 7L) & ~7L)
    --- linux-2.6.2-mm1/drivers/video/pm3fb.c.old 2004-02-07 21:53:04.000000000 +0100
    +++ linux-2.6.2-mm1/drivers/video/pm3fb.c 2004-02-07 22:03:22.000000000 +0100
    @@ -137,9 +137,6 @@
             unsigned long use_current;
             struct pm3fb_par *current_par;
             struct pci_dev *dev; /* PCI device */
    -#ifdef SUPPORT_FB_OF
    - struct device_node *dn; /* OF node for the PCI device */
    -#endif /* SUPPORT_FB_OF */
             unsigned long board_type; /* index in the cardbase */
             unsigned char *fb_base; /* framebuffer memory base */
             u32 fb_size; /* framebuffer memory size */
    @@ -665,20 +662,6 @@
     
     
     /* the struct that hold them together */
    -#ifdef KERNEL_2_2
    -struct fbgen_hwswitch pm3fb_switch = {
    - pm3fb_detect, pm3fb_encode_fix, pm3fb_decode_var, pm3fb_encode_var,
    - pm3fb_get_par, pm3fb_set_par, pm3fb_getcolreg, pm3fb_setcolreg,
    - pm3fb_pan_display, pm3fb_blank, pm3fb_set_disp
    -};
    -
    -static struct fb_ops pm3fb_ops = {
    - fbgen_get_fix, fbgen_get_var, fbgen_set_var,
    - fbgen_get_cmap, fbgen_set_cmap, fbgen_pan_display, pm3fb_ioctl,
    - NULL, NULL
    -};
    -#endif /* KERNEL_2_2 */
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
     struct fbgen_hwswitch pm3fb_switch = {
             pm3fb_detect, pm3fb_encode_fix, pm3fb_decode_var, pm3fb_encode_var,
             pm3fb_get_par, pm3fb_set_par, pm3fb_getcolreg,
    @@ -697,7 +680,7 @@
             .fb_blank = fbgen_blank,
             .fb_ioctl = pm3fb_ioctl,
     };
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
    +
     #ifdef PM3FB_USE_ACCEL
     #ifdef FBCON_HAS_CFB32
     static struct display_switch pm3fb_cfb32 = {
    @@ -1451,26 +1434,11 @@
     
             /* pm3 split up memory, replicates, and do a lot of nasty stuff IMHO ;-) */
             for (i = 0; i < 32; i++) {
    -#ifdef KERNEL_2_2
    -#ifdef MUST_BYTESWAP
    - writel(__swab32(i * 0x00345678),
    - (l_fb_info->v_fb + (i * 1048576)));
    -#else
    - writel(i * 0x00345678, (l_fb_info->v_fb + (i * 1048576)));
    -#endif
    - mb();
    -#ifdef MUST_BYTESWAP
    - temp1 = __swab32(readl((l_fb_info->v_fb + (i * 1048576))));
    -#else
    - temp1 = readl((l_fb_info->v_fb + (i * 1048576)));
    -#endif
    -#endif /* KERNEL_2_2 */
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
                     fb_writel(i * 0x00345678,
                               (l_fb_info->v_fb + (i * 1048576)));
                     mb();
                     temp1 = fb_readl((l_fb_info->v_fb + (i * 1048576)));
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
    +
                     /* Let's check for wrapover, write will fail at 16MB boundary */
                     if (temp1 == (i * 0x00345678))
                             memsize = i;
    @@ -1489,31 +1457,6 @@
                     }
     
                     for (i = 32; i < 64; i++) {
    -#ifdef KERNEL_2_2
    -#ifdef MUST_BYTESWAP
    - writel(__swab32(i * 0x00345678),
    - (l_fb_info->v_fb + (i * 1048576)));
    -#else
    - writel(i * 0x00345678,
    - (l_fb_info->v_fb + (i * 1048576)));
    -#endif
    - mb();
    -#ifdef MUST_BYTESWAP
    - temp1 =
    - __swab32(readl
    - ((l_fb_info->v_fb + (i * 1048576))));
    - temp2 =
    - __swab32(readl
    - ((l_fb_info->v_fb +
    - ((i - 32) * 1048576))));
    -#else
    - temp1 = readl((l_fb_info->v_fb + (i * 1048576)));
    - temp2 =
    - readl((l_fb_info->v_fb +
    - ((i - 32) * 1048576)));
    -#endif
    -#endif /* KERNEL_2_2 */
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
                             fb_writel(i * 0x00345678,
                                       (l_fb_info->v_fb + (i * 1048576)));
                             mb();
    @@ -1522,7 +1465,6 @@
                             temp2 =
                                 fb_readl((l_fb_info->v_fb +
                                           ((i - 32) * 1048576)));
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
                             if ((temp1 == (i * 0x00345678)) && (temp2 == 0)) /* different value, different RAM... */
                                     memsize = i;
                             else
    @@ -1565,16 +1507,7 @@
     
             for (i = 0; i < (l_fb_info->fb_size / sizeof(u32)) ; i++) /* clear entire FB memory to black */
             {
    -#ifdef KERNEL_2_2
    -#ifdef MUST_BYTESWAP
    - writel(__swab32(cc), (l_fb_info->v_fb + (i * sizeof(u32))));
    -#else
    - writel(cc, (l_fb_info->v_fb + (i * sizeof(u32))));
    -#endif
    -#endif
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
                     fb_writel(cc, (l_fb_info->v_fb + (i * sizeof(u32))));
    -#endif
             }
     }
     
    @@ -3424,89 +3357,63 @@
             for (i = 0; i < PM3_MAX_BOARD; i++) {
                     l_fb_info = &(fb_info[i]);
                     if ((l_fb_info->dev) && (!disable[i])) { /* PCI device was found and not disabled by user */
    -#ifdef SUPPORT_FB_OF
    - struct device_node *dp =
    - find_pci_device_OFnode(l_fb_info->dev->bus->
    - number,
    - l_fb_info->dev->devfn);
    -
    - if ((dp) && (!strncmp(dp->name, "formacGA12", 10))) {
    - /* do nothing, init of board is done in pm3fb_of_init */
    - } else {
    -#endif
    - DPRINTK(2,
    - "found @%lx Vendor %lx Device %lx ; base @ : %lx - %lx - %lx - %lx - %lx - %lx, irq %ld\n",
    - (unsigned long) l_fb_info->dev,
    - (unsigned long) l_fb_info->dev->
    - vendor,
    - (unsigned long) l_fb_info->dev->
    - device,
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 0),
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 1),
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 2),
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 3),
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 4),
    - (unsigned long)
    - pci_resource_start(l_fb_info->dev,
    - 5),
    - (unsigned long) l_fb_info->dev->
    - irq);
    -
    - l_fb_info->pIOBase =
    - (unsigned char *)
    - pci_resource_start(l_fb_info->dev, 0);
    + DPRINTK(2,
    + "found @%lx Vendor %lx Device %lx ; base @ : %lx - %lx - %lx - %lx - %lx - %lx, irq %ld\n",
    + (unsigned long) l_fb_info->dev,
    + (unsigned long) l_fb_info->dev->vendor,
    + (unsigned long) l_fb_info->dev->device,
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 0),
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 1),
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 2),
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 3),
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 4),
    + (unsigned long)
    + pci_resource_start(l_fb_info->dev, 5),
    + (unsigned long) l_fb_info->dev->irq);
    +
    + l_fb_info->pIOBase =
    + (unsigned char *)
    + pci_resource_start(l_fb_info->dev, 0);
     #ifdef __BIG_ENDIAN
    - l_fb_info->pIOBase += PM3_REGS_SIZE;
    + l_fb_info->pIOBase += PM3_REGS_SIZE;
     #endif
    - l_fb_info->vIOBase = (unsigned char *) -1;
    - l_fb_info->p_fb =
    - (unsigned char *)
    - pci_resource_start(l_fb_info->dev, 1);
    - l_fb_info->v_fb = (unsigned char *) -1;
    + l_fb_info->vIOBase = (unsigned char *) -1;
    + l_fb_info->p_fb =
    + (unsigned char *)
    + pci_resource_start(l_fb_info->dev, 1);
    + l_fb_info->v_fb = (unsigned char *) -1;
     
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5) /* full resource management, new in linux-2.4.x */
    - if (!request_mem_region
    - ((unsigned long)l_fb_info->p_fb, 64 * 1024 * 1024, /* request full aperture size */
    - "pm3fb")) {
    - printk
    - (KERN_ERR "pm3fb: Error: couldn't request framebuffer memory, board #%ld\n",
    - l_fb_info->board_num);
    - continue;
    - }
                                     if (!request_mem_region
    - ((unsigned long)l_fb_info->pIOBase, PM3_REGS_SIZE,
    - "pm3fb I/O regs")) {
    - printk
    - (KERN_ERR "pm3fb: Error: couldn't request IObase memory, board #%ld\n",
    - l_fb_info->board_num);
    - continue;
    - }
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
    - if (forcesize[l_fb_info->board_num])
    - l_fb_info->fb_size = forcesize[l_fb_info->board_num];
    -
    - l_fb_info->fb_size =
    - pm3fb_size_memory(l_fb_info);
    + ((unsigned long)l_fb_info->p_fb, 64 * 1024 * 1024, /* request full aperture size */
    + "pm3fb")) {
    + printk
    + (KERN_ERR "pm3fb: Error: couldn't request framebuffer memory, board #%ld\n",
    + l_fb_info->board_num);
    + continue;
    + }
    + if (!request_mem_region
    + ((unsigned long)l_fb_info->pIOBase, PM3_REGS_SIZE,
    + "pm3fb I/O regs")) {
    + printk
    + (KERN_ERR "pm3fb: Error: couldn't request IObase memory, board #%ld\n",
    + l_fb_info->board_num);
    + continue;
    + }
    + if (forcesize[l_fb_info->board_num])
    + l_fb_info->fb_size = forcesize[l_fb_info->board_num];
     
    + l_fb_info->fb_size =
    + pm3fb_size_memory(l_fb_info);
                                     if (l_fb_info->fb_size) {
    - (void) pci_enable_device(l_fb_info->dev);
    - pm3fb_common_init(l_fb_info);
    - } else
    - printk(KERN_ERR "pm3fb: memory problem, not enabling board #%ld\n", l_fb_info->board_num);
    -
    -#ifdef SUPPORT_FB_OF
    - }
    -#endif /* SUPPORT_FB_OF */
    + (void) pci_enable_device(l_fb_info->dev);
    + pm3fb_common_init(l_fb_info);
    + } else
    + printk(KERN_ERR "pm3fb: memory problem, not enabling board #%ld\n", l_fb_info->board_num);
                     }
             }
     }
    @@ -3590,12 +3497,7 @@
     /* ***** standard FB API init functions ***** */
     /* ****************************************** */
     
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
     int __init pm3fb_setup(char *options)
    -#endif
    -#ifdef KERNEL_2_2
    -__initfunc(void pm3fb_setup(char *options, int *ints))
    -#endif
     {
             long opsi = strlen(options);
     
    @@ -3606,17 +3508,10 @@
                     PM3_OPTIONS_SIZE) ? PM3_OPTIONS_SIZE : (opsi + 1));
             g_options[PM3_OPTIONS_SIZE - 1] = 0;
     
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
             return (0);
    -#endif
     }
     
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
     int __init pm3fb_init(void)
    -#endif
    -#ifdef KERNEL_2_2
    -__initfunc(void pm3fb_init(void))
    -#endif
     {
             DTRACE;
     
    @@ -3629,82 +3524,8 @@
             if (!fb_info[0].dev) { /* not even one board ??? */
                     DPRINTK(1, "No PCI Permedia3 board detected\n");
             }
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
             return (0);
    -#endif
    -}
    -
    -#ifdef SUPPORT_FB_OF /* linux-2.2.x only */
    -__initfunc(void pm3fb_of_init(struct device_node *dp))
    -{
    - struct pm3fb_info *l_fb_info = NULL;
    - unsigned long i;
    - long bn = -1;
    - struct device_node *dn;
    -
    - DTRACE;
    -
    - DPRINTK(2, "OpenFirmware board : %s\n", dp->full_name);
    -
    - for (i = 0; i < dp->n_addrs; i++) {
    - DPRINTK(2, "MemRange : 0x%08x - 0x%x\n",
    - dp->addrs[i].address, dp->addrs[i].size);
    - }
    -
    - for (i = 0; i < PM3_MAX_BOARD; i++) { /* find which PCI board is the OF device */
    - if (fb_info[i].dev) {
    - dn = find_pci_device_OFnode(fb_info[i].dev->bus->
    - number,
    - fb_info[i].dev->devfn);
    - if (dn == dp) {
    - if (bn == -1)
    - bn = i;
    - else {
    - DPRINTK(1,
    - "Error: Multiple PCI device for a single OpenFirmware node\n");
    - }
    - }
    - }
    - }
    -
    - if (bn == -1) {
    - DPRINTK(1, "Warning: non-PCI Permedia3 found\n");
    - i = 0;
    - while (fb_info[i].dev && (i < PM3_MAX_BOARD))
    - i++;
    - if (i < PM3_MAX_BOARD)
    - bn = i;
    - else {
    - printk
    - (KERN_ERR "pm3fb: Error: Couldn't find room for OpenFirmware device");
    - return;
    - }
    - }
    -
    - l_fb_info = &(fb_info[bn]);
    -
    - l_fb_info->dn = dp;
    -
    - l_fb_info->pIOBase = (unsigned char *) dp->addrs[3].address;
    -#ifdef __BIG_ENDIAN
    - l_fb_info->pIOBase += PM3_REGS_SIZE;
    -#endif
    - l_fb_info->vIOBase = (unsigned char *) -1;
    - l_fb_info->p_fb = (unsigned char *) dp->addrs[1].address;
    - l_fb_info->v_fb = (unsigned char *) -1;
    -
    - l_fb_info->fb_size = pm3fb_size_memory(l_fb_info); /* (unsigned long)dp->addrs[1].size; *//* OF is a liar ! it claims 256 Mb */
    -
    - DPRINTK(2,
    - "OpenFirmware board (#%ld) : IOBase 0x%08lx, p_fb 0x%08lx, fb_size %d KB\n",
    - bn, (unsigned long) l_fb_info->pIOBase,
    - (unsigned long) l_fb_info->p_fb, l_fb_info->fb_size >> 10);
    -
    - l_fb_info->use_current = 1; /* will use current mode by default */
    -
    - pm3fb_common_init(l_fb_info);
     }
    -#endif /* SUPPORT_FB_OF */
     
     /* ************************* */
     /* **** Module support ***** */
    @@ -3808,14 +3629,12 @@
                                     if (l_fb_info->vIOBase !=
                                         (unsigned char *) -1) {
                                             pm3fb_unmapIO(l_fb_info);
    -#if (defined KERNEL_2_4) || (defined KERNEL_2_5)
                                             release_mem_region(l_fb_info->p_fb,
                                                                l_fb_info->
                                                                fb_size);
                                             release_mem_region(l_fb_info->
                                                                pIOBase,
                                                                PM3_REGS_SIZE);
    -#endif /* KERNEL_2_4 or KERNEL_2_5 */
                                     }
                                     unregister_framebuffer(&l_fb_info->gen.
                                                            info);
    -
    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/


  • Next message: Adrian Bunk: "[patch] s390: remove a kernel 2.2 #ifdef"

    Relevant Pages

    • Re: Granting some root permissions to certain users
      ... We use a kernel patch called trustees to do just what you're talking ... Unfortunately the patch hasn't really been kept up-to-date. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: RT-V0.7.47-17 build fails
      ... On Monday 06 June 2005 03:41, Ingo Molnar wrote: ... >> I thought maybe I'd exersize this kernel, but a patch I thought ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • RE: [PATCH] 2.6 workaround for Athlon/Opteron prefetch errata
      ... to avoid so we can get this in to the 2.6 kernel ASAP. ... I am pretty certain the patch won't impact the ... > might want to kill the condition depending on the stepping, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: 2.6.3-rc1-mm1
      ... > This is the first time that anyone told me that it even existed. ... When we're at kernel version 2.6.3! ... without this patch. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Question re the dot releases such as 2.6.12.3
      ... I'll submit a patch to the ... > kernel from the home page. ... Copyright 2005 by Maurice Eugene Heskett, ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)