From: Adrian Bunk <bunk@stusta.de>
To: linux-kernel@vger.kernel.org
Subject: [2.6 patch] pm3fb: remove kernel 2.2 code (fwd)
Date: Sat, 23 Oct 2004 18:09:15 +0200 [thread overview]
Message-ID: <20041023160915.GD5110@stusta.de> (raw)
FYI:
The patch forwarded below still applies against 2.6.9-mm1 (yew, I know
the driver is marked as BROKEN).
Signed-off-by: Adrian Bunk <bunk@stusta.de>
----- Forwarded message from Adrian Bunk <bunk@fs.tum.de> -----
Date: Sun, 8 Feb 2004 02:06:09 +0100
From: Adrian Bunk <bunk@fs.tum.de>
To: James Simmons <jsimmons@infradead.org>, Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: [2.6 patch] pm3fb: remove kernel 2.2 code
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/
----- End forwarded message -----
next reply other threads:[~2004-10-23 16:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-23 16:09 Adrian Bunk [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-11-21 17:53 [2.6 patch] pm3fb: remove kernel 2.2 code (fwd) Adrian Bunk
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=20041023160915.GD5110@stusta.de \
--to=bunk@stusta.de \
--cc=linux-kernel@vger.kernel.org \
/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.