[parisc-linux-cvs] 2.5.70-pa6: fix stifb module loading/unloading
Helge Deller
deller@gmx.de
Sun, 1 Jun 2003 14:28:39 +0200
--Boundary-00=_3Ff2+NcbXvAvUCb
Content-Type: text/plain;
charset="iso-8859-15"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On Sunday 01 June 2003 14:26, Helge Deller wrote:
> CVSROOT: /var/cvs
> Module name: linux-2.5
> Changes by: deller 03/06/01 06:26:17
>
> Modified files:
> . : Makefile
> arch/parisc/kernel: parisc_ksyms.c
> drivers/video : stifb.c
> drivers/video/console: sticore.c
>
> Log message:
> 2.5.70-pa6:
> - exported more symbols (needed for stifb as module)
> - fix loading/unloading of stifb module
--Boundary-00=_3Ff2+NcbXvAvUCb
Content-Type: text/plain;
charset="iso-8859-15";
name="diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="diff"
Index: Makefile
===================================================================
RCS file: /var/cvs/linux-2.5/Makefile,v
retrieving revision 1.118
diff -u -p -r1.118 Makefile
--- Makefile 1 Jun 2003 11:14:22 -0000 1.118
+++ Makefile 1 Jun 2003 12:24:47 -0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 5
SUBLEVEL = 70
-EXTRAVERSION = -pa5
+EXTRAVERSION = -pa6
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
Index: arch/parisc/kernel/parisc_ksyms.c
===================================================================
RCS file: /var/cvs/linux-2.5/arch/parisc/kernel/parisc_ksyms.c,v
retrieving revision 1.19
diff -u -p -r1.19 parisc_ksyms.c
--- arch/parisc/kernel/parisc_ksyms.c 1 Jun 2003 01:01:44 -0000 1.19
+++ arch/parisc/kernel/parisc_ksyms.c 1 Jun 2003 12:24:47 -0000
@@ -77,6 +77,8 @@ EXPORT_SYMBOL($global$);
EXPORT_SYMBOL(register_parisc_driver);
EXPORT_SYMBOL(unregister_parisc_driver);
+EXPORT_SYMBOL(print_pci_hwpath);
+EXPORT_SYMBOL(print_pa_hwpath);
EXPORT_SYMBOL(pdc_iodc_read);
EXPORT_SYMBOL(pdc_tod_read);
EXPORT_SYMBOL(pdc_tod_set);
@@ -107,6 +109,8 @@ EXPORT_SYMBOL(outsl);
#include <asm/cache.h>
EXPORT_SYMBOL(flush_kernel_dcache_range_asm);
EXPORT_SYMBOL(flush_kernel_dcache_page);
+EXPORT_SYMBOL(flush_data_cache_local);
+EXPORT_SYMBOL(flush_kernel_icache_range_asm);
EXPORT_SYMBOL(__flush_dcache_page);
EXPORT_SYMBOL(flush_all_caches);
EXPORT_SYMBOL(dcache_stride);
@@ -136,6 +140,7 @@ EXPORT_SYMBOL(csum_partial_copy_from_use
EXPORT_SYMBOL(pdc_add_valid);
EXPORT_SYMBOL(pdc_lan_station_id);
EXPORT_SYMBOL(pdc_get_initiator);
+EXPORT_SYMBOL(pdc_sti_call);
extern void $$divI(void);
extern void $$divU(void);
Index: drivers/video/stifb.c
===================================================================
RCS file: /var/cvs/linux-2.5/drivers/video/stifb.c,v
retrieving revision 1.13
diff -u -p -r1.13 stifb.c
--- drivers/video/stifb.c 27 May 2003 17:26:32 -0000 1.13
+++ drivers/video/stifb.c 1 Jun 2003 12:24:49 -0000
@@ -112,6 +112,7 @@ struct stifb_info {
int deviceSpecificConfig;
};
+static int __initdata bpp = 8; /* parameter from modprobe */
static int __initdata stifb_force_bpp[MAX_STI_ROMS];
/* ------------------- chipset specific functions -------------------------- */
@@ -1337,6 +1338,8 @@ stifb_init(void)
sti = sti_get_rom(i);
if (!sti)
break;
+ if (bpp > 0)
+ stifb_force_bpp[i] = bpp;
stifb_init_fb(sti, stifb_force_bpp[i]);
}
return 0;
@@ -1356,8 +1359,14 @@ stifb_cleanup(void)
sti = sti_get_rom(i);
if (!sti)
break;
- if (sti->info)
+ if (sti->info) {
+ struct fb_info *info = sti->info;
unregister_framebuffer(sti->info);
+ release_mem_region(info->fix.mmio_start, info->fix.mmio_len);
+ release_mem_region(info->fix.smem_start, info->fix.smem_len);
+ fb_dealloc_cmap(&info->cmap);
+ kfree(info);
+ }
sti->info = NULL;
}
}
@@ -1373,9 +1382,10 @@ stifb_setup(char *options)
if (strncmp(options, "bpp", 3) == 0) {
options += 3;
for (i = 0; i < MAX_STI_ROMS; i++) {
- if (*options++ == ':')
+ if (*options++ == ':') {
stifb_force_bpp[i] = simple_strtoul(options, &options, 10);
- else
+ bpp = -1;
+ } else
break;
}
}
@@ -1391,7 +1401,7 @@ module_exit(stifb_cleanup);
MODULE_AUTHOR("Helge Deller <deller@gmx.de>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>");
MODULE_DESCRIPTION("Framebuffer driver for HP's NGLE series graphics cards in HP PARISC machines");
-MODULE_LICENSE("GPL");
+MODULE_LICENSE("GPL v2");
MODULE_PARM(bpp, "i");
MODULE_PARM_DESC(mem, "Bits per pixel (default: 8)");
Index: drivers/video/console/sticore.c
===================================================================
RCS file: /var/cvs/linux-2.5/drivers/video/console/sticore.c,v
retrieving revision 1.13
diff -u -p -r1.13 sticore.c
--- drivers/video/console/sticore.c 1 Jun 2003 11:14:23 -0000 1.13
+++ drivers/video/console/sticore.c 1 Jun 2003 12:24:51 -0000
@@ -1076,6 +1076,9 @@ struct sti_struct * sti_get_rom(unsigned
return sti_roms[index-1];
}
-
EXPORT_SYMBOL(sti_get_rom);
+
+MODULE_AUTHOR("Philipp Rumpf, Helge Deller, Thomas Bogendoerfer");
+MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
+MODULE_LICENSE("GPL v2");
--Boundary-00=_3Ff2+NcbXvAvUCb--