diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-10 17:48:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-10 17:48:43 -0400 |
commit | 0f166396e7e8931bb4acfd1a6ea1bd4f0b43f1dd (patch) | |
tree | 6279fa70695a4c56b7e935018a4c0fc1dfa82e68 /drivers | |
parent | 5f60cfd932b42c69ed3226400cb5eab152576c3a (diff) | |
parent | 105b1bca4d7bed85bb296f7e7caec2fc643e9fbf (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (62 commits)
[MIPS] PNX8550: Cleanup proc code.
[MIPS] WRPPMC: Fix build.
[MIPS] Yosemite: Fix modpost warnings.
[MIPS] Change names of local variables to silence sparse
[MIPS] SB1: Fix modpost warning.
[MIPS] PNX: Fix modpost warnings.
[MIPS] Alchemy: Fix modpost warnings.
[MIPS] Non-FPAFF: Fix warning.
[MIPS] DEC: Fix modpost warning.
[MIPS] MIPSsim: Enable MIPSsim virtual network driver.
[MIPS] Delete Ocelot 3 support.
[MIPS] remove LASAT Networks platforms support
[MIPS] Early check for SMTC kernel on non-MT processor
[MIPS] Add debugfs files to show fpuemu statistics
[MIPS] Add some debugfs files to debug unaligned accesses
[MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs
[MIPS] tc35815: Load MAC address via platform_device
[MIPS] Move FPU affinity code into separate file.
[MIPS] Make ioremap() work on TX39/49 special unmapped segment
[MIPS] rbtx4938: Update and minimize defconfig
...
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; |