diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/char/mem.c | 7 | ||||
| -rw-r--r-- | drivers/mtd/devices/docprobe.c | 2 | ||||
| -rw-r--r-- | drivers/mtd/maps/Kconfig | 6 | ||||
| -rw-r--r-- | drivers/mtd/maps/Makefile | 1 | ||||
| -rw-r--r-- | drivers/mtd/maps/lasat.c | 103 | ||||
| -rw-r--r-- | drivers/mtd/nand/diskonchip.c | 2 | ||||
| -rw-r--r-- | drivers/net/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/net/tc35815.c | 50 | ||||
| -rw-r--r-- | drivers/tc/zs.c | 6 |
9 files changed, 58 insertions, 121 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index d2e4cfd79f27..bbee97ff355f 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
| @@ -75,6 +75,13 @@ static inline int uncached_access(struct file *file, unsigned long addr) | |||
| 75 | * On ia64, we ignore O_SYNC because we cannot tolerate memory attribute aliases. | 75 | * On ia64, we ignore O_SYNC because we cannot tolerate memory attribute aliases. |
| 76 | */ | 76 | */ |
| 77 | return !(efi_mem_attributes(addr) & EFI_MEMORY_WB); | 77 | return !(efi_mem_attributes(addr) & EFI_MEMORY_WB); |
| 78 | #elif defined(CONFIG_MIPS) | ||
| 79 | { | ||
| 80 | extern int __uncached_access(struct file *file, | ||
| 81 | unsigned long addr); | ||
| 82 | |||
| 83 | return __uncached_access(file, addr); | ||
| 84 | } | ||
| 78 | #else | 85 | #else |
| 79 | /* | 86 | /* |
| 80 | * Accessing memory above the top the kernel knows about or through a file pointer | 87 | * Accessing memory above the top the kernel knows about or through a file pointer |
diff --git a/drivers/mtd/devices/docprobe.c b/drivers/mtd/devices/docprobe.c index 78872c3f3760..b96ac8e119dc 100644 --- a/drivers/mtd/devices/docprobe.c +++ b/drivers/mtd/devices/docprobe.c | |||
| @@ -84,7 +84,7 @@ static unsigned long __initdata doc_locations[] = { | |||
| 84 | #elif defined(CONFIG_MOMENCO_OCELOT) | 84 | #elif defined(CONFIG_MOMENCO_OCELOT) |
| 85 | 0x2f000000, | 85 | 0x2f000000, |
| 86 | 0xff000000, | 86 | 0xff000000, |
| 87 | #elif defined(CONFIG_MOMENCO_OCELOT_G) || defined (CONFIG_MOMENCO_OCELOT_C) | 87 | #elif defined(CONFIG_MOMENCO_OCELOT_G) |
| 88 | 0xff000000, | 88 | 0xff000000, |
| 89 | ##else | 89 | ##else |
| 90 | #warning Unknown architecture for DiskOnChip. No default probe locations defined | 90 | #warning Unknown architecture for DiskOnChip. No default probe locations defined |
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig index b665e4ac2208..f88ebc5b685e 100644 --- a/drivers/mtd/maps/Kconfig +++ b/drivers/mtd/maps/Kconfig | |||
| @@ -258,12 +258,6 @@ config MTD_TSUNAMI | |||
| 258 | help | 258 | help |
| 259 | Support for the flash chip on Tsunami TIG bus. | 259 | Support for the flash chip on Tsunami TIG bus. |
| 260 | 260 | ||
| 261 | config MTD_LASAT | ||
| 262 | tristate "LASAT flash device" | ||
| 263 | depends on LASAT && MTD_CFI | ||
| 264 | help | ||
| 265 | Support for the flash chips on the Lasat 100 and 200 boards. | ||
| 266 | |||
| 267 | config MTD_NETtel | 261 | config MTD_NETtel |
| 268 | tristate "CFI flash device on SnapGear/SecureEdge" | 262 | tristate "CFI flash device on SnapGear/SecureEdge" |
| 269 | depends on X86 && MTD_PARTITIONS && MTD_JEDECPROBE | 263 | depends on X86 && MTD_PARTITIONS && MTD_JEDECPROBE |
diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile index 3acbb5d01ca4..970b189271a2 100644 --- a/drivers/mtd/maps/Makefile +++ b/drivers/mtd/maps/Makefile | |||
| @@ -47,7 +47,6 @@ obj-$(CONFIG_MTD_OCELOT) += ocelot.o | |||
| 47 | obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o | 47 | obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o |
| 48 | obj-$(CONFIG_MTD_PCI) += pci.o | 48 | obj-$(CONFIG_MTD_PCI) += pci.o |
| 49 | obj-$(CONFIG_MTD_ALCHEMY) += alchemy-flash.o | 49 | obj-$(CONFIG_MTD_ALCHEMY) += alchemy-flash.o |
| 50 | obj-$(CONFIG_MTD_LASAT) += lasat.o | ||
| 51 | obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o | 50 | obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o |
| 52 | obj-$(CONFIG_MTD_EDB7312) += edb7312.o | 51 | obj-$(CONFIG_MTD_EDB7312) += edb7312.o |
| 53 | obj-$(CONFIG_MTD_IMPA7) += impa7.o | 52 | obj-$(CONFIG_MTD_IMPA7) += impa7.o |
diff --git a/drivers/mtd/maps/lasat.c b/drivers/mtd/maps/lasat.c deleted file mode 100644 index e34376321050..000000000000 --- a/drivers/mtd/maps/lasat.c +++ /dev/null | |||
| @@ -1,103 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Flash device on Lasat 100 and 200 boards | ||
| 3 | * | ||
| 4 | * (C) 2002 Brian Murphy <brian@murphy.dk> | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or | ||
| 7 | * modify it under the terms of the GNU General Public License version | ||
| 8 | * 2 as published by the Free Software Foundation. | ||
| 9 | * | ||
| 10 | * $Id: lasat.c,v 1.9 2004/11/04 13:24:15 gleixner Exp $ | ||
| 11 | * | ||
| 12 | */ | ||
| 13 | |||
| 14 | #include <linux/module.h> | ||
| 15 | #include <linux/types.h> | ||
| 16 | #include <linux/kernel.h> | ||
| 17 | #include <linux/init.h> | ||
| 18 | #include <asm/io.h> | ||
| 19 | #include <linux/mtd/mtd.h> | ||
| 20 | #include <linux/mtd/map.h> | ||
| 21 | #include <linux/mtd/partitions.h> | ||
| 22 | #include <asm/lasat/lasat.h> | ||
| 23 | |||
| 24 | static struct mtd_info *lasat_mtd; | ||
| 25 | |||
| 26 | static struct mtd_partition partition_info[LASAT_MTD_LAST]; | ||
| 27 | static char *lasat_mtd_partnames[] = {"Bootloader", "Service", "Normal", "Filesystem", "Config"}; | ||
| 28 | |||
| 29 | static void lasat_set_vpp(struct map_info *map, int vpp) | ||
| 30 | { | ||
| 31 | if (vpp) | ||
| 32 | *lasat_misc->flash_wp_reg |= 1 << lasat_misc->flash_wp_bit; | ||
| 33 | else | ||
| 34 | *lasat_misc->flash_wp_reg &= ~(1 << lasat_misc->flash_wp_bit); | ||
| 35 | } | ||
| 36 | |||
| 37 | static struct map_info lasat_map = { | ||
| 38 | .name = "LASAT flash", | ||
| 39 | .bankwidth = 4, | ||
| 40 | .set_vpp = lasat_set_vpp | ||
| 41 | }; | ||
| 42 | |||
| 43 | static int __init init_lasat(void) | ||
| 44 | { | ||
| 45 | int i; | ||
| 46 | /* since we use AMD chips and set_vpp is not implimented | ||
| 47 | * for these (yet) we still have to permanently enable flash write */ | ||
| 48 | printk(KERN_NOTICE "Unprotecting flash\n"); | ||
| 49 | ENABLE_VPP((&lasat_map)); | ||
| 50 | |||
| 51 | lasat_map.phys = lasat_flash_partition_start(LASAT_MTD_BOOTLOADER); | ||
| 52 | lasat_map.virt = ioremap_nocache( | ||
| 53 | lasat_map.phys, lasat_board_info.li_flash_size); | ||
| 54 | lasat_map.size = lasat_board_info.li_flash_size; | ||
| 55 | |||
| 56 | simple_map_init(&lasat_map); | ||
| 57 | |||
| 58 | for (i=0; i < LASAT_MTD_LAST; i++) | ||
| 59 | partition_info[i].name = lasat_mtd_partnames[i]; | ||
| 60 | |||
| 61 | lasat_mtd = do_map_probe("cfi_probe", &lasat_map); | ||
| 62 | |||
| 63 | if (!lasat_mtd) | ||
| 64 | lasat_mtd = do_map_probe("jedec_probe", &lasat_map); | ||
| 65 | |||
| 66 | if (lasat_mtd) { | ||
| 67 | u32 size, offset = 0; | ||
| 68 | |||
| 69 | lasat_mtd->owner = THIS_MODULE; | ||
| 70 | |||
| 71 | for (i=0; i < LASAT_MTD_LAST; i++) { | ||
| 72 | size = lasat_flash_partition_size(i); | ||
| 73 | partition_info[i].size = size; | ||
| 74 | partition_info[i].offset = offset; | ||
| 75 | offset += size; | ||
| 76 | } | ||
| 77 | |||
| 78 | add_mtd_partitions( lasat_mtd, partition_info, LASAT_MTD_LAST ); | ||
| 79 | return 0; | ||
| 80 | } | ||
| 81 | |||
| 82 | iounmap(lasat_map.virt); | ||
| 83 | return -ENXIO; | ||
| 84 | } | ||
| 85 | |||
| 86 | static void __exit cleanup_lasat(void) | ||
| 87 | { | ||
| 88 | if (lasat_mtd) { | ||
| 89 | del_mtd_partitions(lasat_mtd); | ||
| 90 | map_destroy(lasat_mtd); | ||
| 91 | } | ||
| 92 | if (lasat_map.virt) { | ||
| 93 | iounmap(lasat_map.virt); | ||
| 94 | lasat_map.virt = 0; | ||
| 95 | } | ||
| 96 | } | ||
| 97 | |||
| 98 | module_init(init_lasat); | ||
| 99 | module_exit(cleanup_lasat); | ||
| 100 | |||
| 101 | MODULE_LICENSE("GPL"); | ||
| 102 | MODULE_AUTHOR("Brian Murphy <brian@murphy.dk>"); | ||
| 103 | MODULE_DESCRIPTION("Lasat Safepipe/Masquerade MTD map driver"); | ||
diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c index 595208f965a5..17c868034aad 100644 --- a/drivers/mtd/nand/diskonchip.c +++ b/drivers/mtd/nand/diskonchip.c | |||
| @@ -59,7 +59,7 @@ static unsigned long __initdata doc_locations[] = { | |||
| 59 | #elif defined(CONFIG_MOMENCO_OCELOT) | 59 | #elif defined(CONFIG_MOMENCO_OCELOT) |
| 60 | 0x2f000000, | 60 | 0x2f000000, |
| 61 | 0xff000000, | 61 | 0xff000000, |
| 62 | #elif defined(CONFIG_MOMENCO_OCELOT_G) || defined (CONFIG_MOMENCO_OCELOT_C) | 62 | #elif defined(CONFIG_MOMENCO_OCELOT_G) |
| 63 | 0xff000000, | 63 | 0xff000000, |
| 64 | #else | 64 | #else |
| 65 | #warning Unknown architecture for DiskOnChip. No default probe locations defined | 65 | #warning Unknown architecture for DiskOnChip. No default probe locations defined |
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 5cc3d517e39b..627316db3744 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
| @@ -2307,7 +2307,7 @@ config UGETH_TX_ON_DEMAND | |||
| 2307 | 2307 | ||
| 2308 | config MV643XX_ETH | 2308 | config MV643XX_ETH |
| 2309 | tristate "MV-643XX Ethernet support" | 2309 | tristate "MV-643XX Ethernet support" |
| 2310 | depends on MOMENCO_OCELOT_C || MOMENCO_JAGUAR_ATX || MV64360 || MV64X60 || MOMENCO_OCELOT_3 || (PPC_MULTIPLATFORM && PPC32) | 2310 | depends on MV64360 || MV64X60 || (PPC_MULTIPLATFORM && PPC32) |
| 2311 | select MII | 2311 | select MII |
| 2312 | help | 2312 | help |
| 2313 | This driver supports the gigabit Ethernet on the Marvell MV643XX | 2313 | This driver supports the gigabit Ethernet on the Marvell MV643XX |
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c index 463d600ed83d..75655add3f34 100644 --- a/drivers/net/tc35815.c +++ b/drivers/net/tc35815.c | |||
| @@ -23,9 +23,9 @@ | |||
| 23 | */ | 23 | */ |
| 24 | 24 | ||
| 25 | #ifdef TC35815_NAPI | 25 | #ifdef TC35815_NAPI |
| 26 | #define DRV_VERSION "1.35-NAPI" | 26 | #define DRV_VERSION "1.36-NAPI" |
| 27 | #else | 27 | #else |
| 28 | #define DRV_VERSION "1.35" | 28 | #define DRV_VERSION "1.36" |
| 29 | #endif | 29 | #endif |
| 30 | static const char *version = "tc35815.c:v" DRV_VERSION "\n"; | 30 | static const char *version = "tc35815.c:v" DRV_VERSION "\n"; |
| 31 | #define MODNAME "tc35815" | 31 | #define MODNAME "tc35815" |
| @@ -49,6 +49,7 @@ static const char *version = "tc35815.c:v" DRV_VERSION "\n"; | |||
| 49 | #include <linux/pci.h> | 49 | #include <linux/pci.h> |
| 50 | #include <linux/mii.h> | 50 | #include <linux/mii.h> |
| 51 | #include <linux/ethtool.h> | 51 | #include <linux/ethtool.h> |
| 52 | #include <linux/platform_device.h> | ||
| 52 | #include <asm/io.h> | 53 | #include <asm/io.h> |
| 53 | #include <asm/byteorder.h> | 54 | #include <asm/byteorder.h> |
| 54 | 55 | ||
| @@ -597,13 +598,46 @@ static int tc_mdio_read(struct net_device *dev, int phy_id, int location); | |||
| 597 | static void tc_mdio_write(struct net_device *dev, int phy_id, int location, | 598 | static void tc_mdio_write(struct net_device *dev, int phy_id, int location, |
| 598 | int val); | 599 | int val); |
| 599 | 600 | ||
| 600 | static void __devinit tc35815_init_dev_addr (struct net_device *dev) | 601 | #ifdef CONFIG_CPU_TX49XX |
| 602 | /* | ||
| 603 | * Find a platform_device providing a MAC address. The platform code | ||
| 604 | * should provide a "tc35815-mac" device with a MAC address in its | ||
| 605 | * platform_data. | ||
| 606 | */ | ||
| 607 | static int __devinit tc35815_mac_match(struct device *dev, void *data) | ||
| 608 | { | ||
| 609 | struct platform_device *plat_dev = to_platform_device(dev); | ||
| 610 | struct pci_dev *pci_dev = data; | ||
| 611 | unsigned int id = (pci_dev->bus->number << 8) | pci_dev->devfn; | ||
| 612 | return !strcmp(plat_dev->name, "tc35815-mac") && plat_dev->id == id; | ||
| 613 | } | ||
| 614 | |||
| 615 | static int __devinit tc35815_read_plat_dev_addr(struct net_device *dev) | ||
| 616 | { | ||
| 617 | struct tc35815_local *lp = dev->priv; | ||
| 618 | struct device *pd = bus_find_device(&platform_bus_type, NULL, | ||
| 619 | lp->pci_dev, tc35815_mac_match); | ||
| 620 | if (pd) { | ||
| 621 | if (pd->platform_data) | ||
| 622 | memcpy(dev->dev_addr, pd->platform_data, ETH_ALEN); | ||
| 623 | put_device(pd); | ||
| 624 | return is_valid_ether_addr(dev->dev_addr) ? 0 : -ENODEV; | ||
| 625 | } | ||
| 626 | return -ENODEV; | ||
| 627 | } | ||
| 628 | #else | ||
| 629 | static int __devinit tc35815_read_plat_dev_addr(struct device *dev) | ||
| 630 | { | ||
| 631 | return -ENODEV; | ||
| 632 | } | ||
| 633 | #endif | ||
| 634 | |||
| 635 | static int __devinit tc35815_init_dev_addr (struct net_device *dev) | ||
| 601 | { | 636 | { |
| 602 | struct tc35815_regs __iomem *tr = | 637 | struct tc35815_regs __iomem *tr = |
| 603 | (struct tc35815_regs __iomem *)dev->base_addr; | 638 | (struct tc35815_regs __iomem *)dev->base_addr; |
| 604 | int i; | 639 | int i; |
| 605 | 640 | ||
| 606 | /* dev_addr will be overwritten on NETDEV_REGISTER event */ | ||
| 607 | while (tc_readl(&tr->PROM_Ctl) & PROM_Busy) | 641 | while (tc_readl(&tr->PROM_Ctl) & PROM_Busy) |
| 608 | ; | 642 | ; |
| 609 | for (i = 0; i < 6; i += 2) { | 643 | for (i = 0; i < 6; i += 2) { |
| @@ -615,6 +649,9 @@ static void __devinit tc35815_init_dev_addr (struct net_device *dev) | |||
| 615 | dev->dev_addr[i] = data & 0xff; | 649 | dev->dev_addr[i] = data & 0xff; |
| 616 | dev->dev_addr[i+1] = data >> 8; | 650 | dev->dev_addr[i+1] = data >> 8; |
| 617 | } | 651 | } |
| 652 | if (!is_valid_ether_addr(dev->dev_addr)) | ||
| 653 | return tc35815_read_plat_dev_addr(dev); | ||
| 654 | return 0; | ||
| 618 | } | 655 | } |
| 619 | 656 | ||
| 620 | static int __devinit tc35815_init_one (struct pci_dev *pdev, | 657 | static int __devinit tc35815_init_one (struct pci_dev *pdev, |
| @@ -724,7 +761,10 @@ static int __devinit tc35815_init_one (struct pci_dev *pdev, | |||
| 724 | tc35815_chip_reset(dev); | 761 | tc35815_chip_reset(dev); |
| 725 | 762 | ||
| 726 | /* Retrieve the ethernet address. */ | 763 | /* Retrieve the ethernet address. */ |
| 727 | tc35815_init_dev_addr(dev); | 764 | if (tc35815_init_dev_addr(dev)) { |
| 765 | dev_warn(&pdev->dev, "not valid ether addr\n"); | ||
| 766 | random_ether_addr(dev->dev_addr); | ||
| 767 | } | ||
| 728 | 768 | ||
| 729 | rc = register_netdev (dev); | 769 | rc = register_netdev (dev); |
| 730 | if (rc) | 770 | if (rc) |
diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c index 61de78a9f6ee..4fff61b32dcb 100644 --- a/drivers/tc/zs.c +++ b/drivers/tc/zs.c | |||
| @@ -143,7 +143,7 @@ static struct console sercons; | |||
| 143 | static unsigned long break_pressed; /* break, really ... */ | 143 | static unsigned long break_pressed; /* break, really ... */ |
| 144 | #endif | 144 | #endif |
| 145 | 145 | ||
| 146 | static unsigned char zs_init_regs[16] __initdata = { | 146 | static unsigned char zs_init_regs[16] = { |
| 147 | 0, /* write 0 */ | 147 | 0, /* write 0 */ |
| 148 | 0, /* write 1 */ | 148 | 0, /* write 1 */ |
| 149 | 0, /* write 2 */ | 149 | 0, /* write 2 */ |
| @@ -1581,7 +1581,7 @@ static void __init show_serial_version(void) | |||
| 1581 | /* Initialize Z8530s zs_channels | 1581 | /* Initialize Z8530s zs_channels |
| 1582 | */ | 1582 | */ |
| 1583 | 1583 | ||
| 1584 | static void __init probe_sccs(void) | 1584 | static void probe_sccs(void) |
| 1585 | { | 1585 | { |
| 1586 | struct dec_serial **pp; | 1586 | struct dec_serial **pp; |
| 1587 | int i, n, n_chips = 0, n_channels, chip, channel; | 1587 | int i, n, n_chips = 0, n_channels, chip, channel; |
| @@ -1923,7 +1923,7 @@ static struct tty_driver *serial_console_device(struct console *c, int *index) | |||
| 1923 | * - initialize the serial port | 1923 | * - initialize the serial port |
| 1924 | * Return non-zero if we didn't find a serial port. | 1924 | * Return non-zero if we didn't find a serial port. |
| 1925 | */ | 1925 | */ |
| 1926 | static int __init serial_console_setup(struct console *co, char *options) | 1926 | static int serial_console_setup(struct console *co, char *options) |
| 1927 | { | 1927 | { |
| 1928 | struct dec_serial *info; | 1928 | struct dec_serial *info; |
| 1929 | int baud = 9600; | 1929 | int baud = 9600; |
