mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits)
[SCSI] SUNESP: Complete driver rewrite to version 2.0
[SPARC64]: Convert PCI over to generic struct iommu/strbuf.
[SPARC]: device_node name constification fallout
[SPARC64]: Convert SBUS over to generic iommu/strbuf structs.
[SPARC64]: Add generic iommu and strbuf structs to iommu.h
[SPARC64]: Consolidate {sbus,pci}_iommu_arena.
[SPARC]: Make device_node name and type const
[SPARC64]: constify some paramaters of OF routines
[TIGON3]: of_get_property() returns const.
[SPARC64]: Fix PCI rework to adhere to of_get_property() const return.
[SPARC64]: Document and fix calculation of pages_avail.
[SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c
[SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn().
[SPARC64]: Add proper header file extern for cmdline_memory_size.
[SPARC64]: Kill sparc_ultra_dump_{i,d}tlb()
[SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c
[SPARC64]: Give move verbose show_mem() output just like i386.
[SPARC64]: Mark show_mem() printk's with KERN_INFO.
[SPARC64]: Kill kvaddr_to_phys() and friends.
[SPARC64]: Privatize sun4u_get_pte() and fix name.
...
This commit is contained in:
commit
0278ef8b48
94 changed files with 5648 additions and 8101 deletions
|
|
@ -64,11 +64,9 @@
|
|||
#include <asm/uaccess.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#ifdef __sparc__
|
||||
#ifdef CONFIG_SPARC
|
||||
#include <asm/idprom.h>
|
||||
#include <asm/openprom.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/pbm.h>
|
||||
#include <asm/prom.h>
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PPC_PMAC
|
||||
|
|
@ -2846,7 +2844,7 @@ static int gem_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
|||
return rc;
|
||||
}
|
||||
|
||||
#if (!defined(__sparc__) && !defined(CONFIG_PPC_PMAC))
|
||||
#if (!defined(CONFIG_SPARC) && !defined(CONFIG_PPC_PMAC))
|
||||
/* Fetch MAC address from vital product data of PCI ROM. */
|
||||
static int find_eth_addr_in_vpd(void __iomem *rom_base, int len, unsigned char *dev_addr)
|
||||
{
|
||||
|
|
@ -2901,36 +2899,19 @@ static void get_gem_mac_nonobp(struct pci_dev *pdev, unsigned char *dev_addr)
|
|||
|
||||
static int __devinit gem_get_device_address(struct gem *gp)
|
||||
{
|
||||
#if defined(__sparc__) || defined(CONFIG_PPC_PMAC)
|
||||
#if defined(CONFIG_SPARC) || defined(CONFIG_PPC_PMAC)
|
||||
struct net_device *dev = gp->dev;
|
||||
#endif
|
||||
|
||||
#if defined(__sparc__)
|
||||
struct pci_dev *pdev = gp->pdev;
|
||||
struct pcidev_cookie *pcp = pdev->sysdata;
|
||||
int use_idprom = 1;
|
||||
|
||||
if (pcp != NULL) {
|
||||
unsigned char *addr;
|
||||
int len;
|
||||
|
||||
addr = of_get_property(pcp->prom_node, "local-mac-address",
|
||||
&len);
|
||||
if (addr && len == 6) {
|
||||
use_idprom = 0;
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
}
|
||||
}
|
||||
if (use_idprom)
|
||||
memcpy(dev->dev_addr, idprom->id_ethaddr, 6);
|
||||
#elif defined(CONFIG_PPC_PMAC)
|
||||
const unsigned char *addr;
|
||||
|
||||
addr = get_property(gp->of_node, "local-mac-address", NULL);
|
||||
if (addr == NULL) {
|
||||
#ifdef CONFIG_SPARC
|
||||
addr = idprom->id_ethaddr;
|
||||
#else
|
||||
printk("\n");
|
||||
printk(KERN_ERR "%s: can't get mac-address\n", dev->name);
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
#else
|
||||
|
|
@ -3088,7 +3069,7 @@ static int __devinit gem_init_one(struct pci_dev *pdev,
|
|||
/* On Apple, we want a reference to the Open Firmware device-tree
|
||||
* node. We use it for clock control.
|
||||
*/
|
||||
#ifdef CONFIG_PPC_PMAC
|
||||
#if defined(CONFIG_PPC_PMAC) || defined(CONFIG_SPARC)
|
||||
gp->of_node = pci_device_to_OF_node(pdev);
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -1025,7 +1025,7 @@ struct gem {
|
|||
|
||||
struct pci_dev *pdev;
|
||||
struct net_device *dev;
|
||||
#ifdef CONFIG_PPC_PMAC
|
||||
#if defined(CONFIG_PPC_PMAC) || defined(CONFIG_SPARC)
|
||||
struct device_node *of_node;
|
||||
#endif
|
||||
};
|
||||
|
|
|
|||
|
|
@ -55,9 +55,6 @@
|
|||
|
||||
#ifdef CONFIG_PCI
|
||||
#include <linux/pci.h>
|
||||
#ifdef CONFIG_SPARC
|
||||
#include <asm/pbm.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "sunhme.h"
|
||||
|
|
@ -2701,7 +2698,7 @@ static int __devinit happy_meal_sbus_probe_one(struct sbus_dev *sdev, int is_qfe
|
|||
dev->dev_addr[i] = macaddr[i];
|
||||
macaddr[5]++;
|
||||
} else {
|
||||
unsigned char *addr;
|
||||
const unsigned char *addr;
|
||||
int len;
|
||||
|
||||
addr = of_get_property(dp, "local-mac-address", &len);
|
||||
|
|
@ -2983,7 +2980,7 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev,
|
|||
{
|
||||
struct quattro *qp = NULL;
|
||||
#ifdef CONFIG_SPARC
|
||||
struct pcidev_cookie *pcp;
|
||||
struct device_node *dp;
|
||||
#endif
|
||||
struct happy_meal *hp;
|
||||
struct net_device *dev;
|
||||
|
|
@ -2995,13 +2992,8 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev,
|
|||
|
||||
/* Now make sure pci_dev cookie is there. */
|
||||
#ifdef CONFIG_SPARC
|
||||
pcp = pdev->sysdata;
|
||||
if (pcp == NULL) {
|
||||
printk(KERN_ERR "happymeal(PCI): Some PCI device info missing\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
strcpy(prom_name, pcp->prom_node->name);
|
||||
dp = pci_device_to_OF_node(pdev);
|
||||
strcpy(prom_name, dp->name);
|
||||
#else
|
||||
if (is_quattro_p(pdev))
|
||||
strcpy(prom_name, "SUNW,qfe");
|
||||
|
|
@ -3078,11 +3070,11 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev,
|
|||
macaddr[5]++;
|
||||
} else {
|
||||
#ifdef CONFIG_SPARC
|
||||
unsigned char *addr;
|
||||
const unsigned char *addr;
|
||||
int len;
|
||||
|
||||
if (qfe_slot != -1 &&
|
||||
(addr = of_get_property(pcp->prom_node,
|
||||
(addr = of_get_property(dp,
|
||||
"local-mac-address", &len)) != NULL
|
||||
&& len == 6) {
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
|
|
@ -3102,7 +3094,7 @@ static int __devinit happy_meal_pci_probe(struct pci_dev *pdev,
|
|||
hp->tcvregs = (hpreg_base + 0x7000UL);
|
||||
|
||||
#ifdef CONFIG_SPARC
|
||||
hp->hm_revision = of_getintprop_default(pcp->prom_node, "hm-rev", 0xff);
|
||||
hp->hm_revision = of_getintprop_default(dp, "hm-rev", 0xff);
|
||||
if (hp->hm_revision == 0xff) {
|
||||
unsigned char prev;
|
||||
|
||||
|
|
@ -3297,7 +3289,7 @@ static int __devinit hme_sbus_probe(struct of_device *dev, const struct of_devic
|
|||
{
|
||||
struct sbus_dev *sdev = to_sbus_device(&dev->dev);
|
||||
struct device_node *dp = dev->node;
|
||||
char *model = of_get_property(dp, "model", NULL);
|
||||
const char *model = of_get_property(dp, "model", NULL);
|
||||
int is_qfe = (match->data != NULL);
|
||||
|
||||
if (!is_qfe && model && !strcmp(model, "SUNW,sbus-qfe"))
|
||||
|
|
|
|||
|
|
@ -47,10 +47,9 @@
|
|||
#include <asm/byteorder.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#ifdef CONFIG_SPARC64
|
||||
#ifdef CONFIG_SPARC
|
||||
#include <asm/idprom.h>
|
||||
#include <asm/oplib.h>
|
||||
#include <asm/pbm.h>
|
||||
#include <asm/prom.h>
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
|
||||
|
|
@ -10987,24 +10986,20 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
|
|||
return err;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPARC64
|
||||
#ifdef CONFIG_SPARC
|
||||
static int __devinit tg3_get_macaddr_sparc(struct tg3 *tp)
|
||||
{
|
||||
struct net_device *dev = tp->dev;
|
||||
struct pci_dev *pdev = tp->pdev;
|
||||
struct pcidev_cookie *pcp = pdev->sysdata;
|
||||
struct device_node *dp = pci_device_to_OF_node(pdev);
|
||||
const unsigned char *addr;
|
||||
int len;
|
||||
|
||||
if (pcp != NULL) {
|
||||
unsigned char *addr;
|
||||
int len;
|
||||
|
||||
addr = of_get_property(pcp->prom_node, "local-mac-address",
|
||||
&len);
|
||||
if (addr && len == 6) {
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
memcpy(dev->perm_addr, dev->dev_addr, 6);
|
||||
return 0;
|
||||
}
|
||||
addr = of_get_property(dp, "local-mac-address", &len);
|
||||
if (addr && len == 6) {
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
memcpy(dev->perm_addr, dev->dev_addr, 6);
|
||||
return 0;
|
||||
}
|
||||
return -ENODEV;
|
||||
}
|
||||
|
|
@ -11025,7 +11020,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp)
|
|||
u32 hi, lo, mac_offset;
|
||||
int addr_ok = 0;
|
||||
|
||||
#ifdef CONFIG_SPARC64
|
||||
#ifdef CONFIG_SPARC
|
||||
if (!tg3_get_macaddr_sparc(tp))
|
||||
return 0;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ MODULE_PARM_DESC (debug, "de2104x bitmapped message enable number");
|
|||
|
||||
/* Set the copy breakpoint for the copy-only-tiny-buffer Rx structure. */
|
||||
#if defined(__alpha__) || defined(__arm__) || defined(__hppa__) \
|
||||
|| defined(__sparc__) || defined(__ia64__) \
|
||||
|| defined(CONFIG_SPARC) || defined(__ia64__) \
|
||||
|| defined(__sh__) || defined(__mips__)
|
||||
static int rx_copybreak = 1518;
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -1160,7 +1160,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
|
|||
sprintf(lp->adapter_name,"%s (%s)", name, gendev->bus_id);
|
||||
|
||||
lp->dma_size = (NUM_RX_DESC + NUM_TX_DESC) * sizeof(struct de4x5_desc);
|
||||
#if defined(__alpha__) || defined(__powerpc__) || defined(__sparc_v9__) || defined(DE4X5_DO_MEMCPY)
|
||||
#if defined(__alpha__) || defined(__powerpc__) || defined(CONFIG_SPARC) || defined(DE4X5_DO_MEMCPY)
|
||||
lp->dma_size += RX_BUFF_SZ * NUM_RX_DESC + DE4X5_ALIGN;
|
||||
#endif
|
||||
lp->rx_ring = dma_alloc_coherent(gendev, lp->dma_size,
|
||||
|
|
@ -1175,7 +1175,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
|
|||
** Set up the RX descriptor ring (Intels)
|
||||
** Allocate contiguous receive buffers, long word aligned (Alphas)
|
||||
*/
|
||||
#if !defined(__alpha__) && !defined(__powerpc__) && !defined(__sparc_v9__) && !defined(DE4X5_DO_MEMCPY)
|
||||
#if !defined(__alpha__) && !defined(__powerpc__) && !defined(CONFIG_SPARC) && !defined(DE4X5_DO_MEMCPY)
|
||||
for (i=0; i<NUM_RX_DESC; i++) {
|
||||
lp->rx_ring[i].status = 0;
|
||||
lp->rx_ring[i].des1 = cpu_to_le32(RX_BUFF_SZ);
|
||||
|
|
@ -1252,11 +1252,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev)
|
|||
mii_get_phy(dev);
|
||||
}
|
||||
|
||||
#ifndef __sparc_v9__
|
||||
printk(" and requires IRQ%d (provided by %s).\n", dev->irq,
|
||||
#else
|
||||
printk(" and requires IRQ%x (provided by %s).\n", dev->irq,
|
||||
#endif
|
||||
((lp->bus == PCI) ? "PCI BIOS" : "EISA CNFG"));
|
||||
}
|
||||
|
||||
|
|
@ -3627,7 +3623,7 @@ de4x5_alloc_rx_buff(struct net_device *dev, int index, int len)
|
|||
struct de4x5_private *lp = netdev_priv(dev);
|
||||
struct sk_buff *p;
|
||||
|
||||
#if !defined(__alpha__) && !defined(__powerpc__) && !defined(__sparc_v9__) && !defined(DE4X5_DO_MEMCPY)
|
||||
#if !defined(__alpha__) && !defined(__powerpc__) && !defined(CONFIG_SPARC) && !defined(DE4X5_DO_MEMCPY)
|
||||
struct sk_buff *ret;
|
||||
u_long i=0, tmp;
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@
|
|||
#include <asm/unaligned.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
#ifdef __sparc__
|
||||
#include <asm/pbm.h>
|
||||
#ifdef CONFIG_SPARC
|
||||
#include <asm/prom.h>
|
||||
#endif
|
||||
|
||||
static char version[] __devinitdata =
|
||||
|
|
@ -67,7 +67,7 @@ const char * const medianame[32] = {
|
|||
|
||||
/* Set the copy breakpoint for the copy-only-tiny-buffer Rx structure. */
|
||||
#if defined(__alpha__) || defined(__arm__) || defined(__hppa__) \
|
||||
|| defined(__sparc__) || defined(__ia64__) \
|
||||
|| defined(CONFIG_SPARC) || defined(__ia64__) \
|
||||
|| defined(__sh__) || defined(__mips__)
|
||||
static int rx_copybreak = 1518;
|
||||
#else
|
||||
|
|
@ -91,7 +91,7 @@ static int rx_copybreak = 100;
|
|||
static int csr0 = 0x01A00000 | 0xE000;
|
||||
#elif defined(__i386__) || defined(__powerpc__) || defined(__x86_64__)
|
||||
static int csr0 = 0x01A00000 | 0x8000;
|
||||
#elif defined(__sparc__) || defined(__hppa__)
|
||||
#elif defined(CONFIG_SPARC) || defined(__hppa__)
|
||||
/* The UltraSparc PCI controllers will disconnect at every 64-byte
|
||||
* crossing anyways so it makes no sense to tell Tulip to burst
|
||||
* any more than that.
|
||||
|
|
@ -1315,7 +1315,7 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
|
|||
/* DM9102A has troubles with MRM & clear reserved bits 24:22, 20, 16, 7:1 */
|
||||
if (tulip_uli_dm_quirk(pdev)) {
|
||||
csr0 &= ~0x01f100ff;
|
||||
#if defined(__sparc__)
|
||||
#if defined(CONFIG_SPARC)
|
||||
csr0 = (csr0 & ~0xff00) | 0xe000;
|
||||
#endif
|
||||
}
|
||||
|
|
@ -1535,23 +1535,19 @@ static int __devinit tulip_init_one (struct pci_dev *pdev,
|
|||
Many PCI BIOSes also incorrectly report the IRQ line, so we correct
|
||||
that here as well. */
|
||||
if (sum == 0 || sum == 6*0xff) {
|
||||
#if defined(__sparc__)
|
||||
struct pcidev_cookie *pcp = pdev->sysdata;
|
||||
#if defined(CONFIG_SPARC)
|
||||
struct device_node *dp = pci_device_to_OF_node(pdev);
|
||||
const unsigned char *addr;
|
||||
int len;
|
||||
#endif
|
||||
eeprom_missing = 1;
|
||||
for (i = 0; i < 5; i++)
|
||||
dev->dev_addr[i] = last_phys_addr[i];
|
||||
dev->dev_addr[i] = last_phys_addr[i] + 1;
|
||||
#if defined(__sparc__)
|
||||
if (pcp) {
|
||||
unsigned char *addr;
|
||||
int len;
|
||||
|
||||
addr = of_get_property(pcp->prom_node,
|
||||
"local-mac-address", &len);
|
||||
if (addr && len == 6)
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
}
|
||||
#if defined(CONFIG_SPARC)
|
||||
addr = of_get_property(dp, "local-mac-address", &len);
|
||||
if (addr && len == 6)
|
||||
memcpy(dev->dev_addr, addr, 6);
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__x86_64__) /* Patch up x86 BIOS bug. */
|
||||
if (last_irq)
|
||||
|
|
|
|||
|
|
@ -902,7 +902,7 @@ static void init_registers(struct net_device *dev)
|
|||
}
|
||||
#elif defined(__powerpc__) || defined(__i386__) || defined(__alpha__) || defined(__ia64__) || defined(__x86_64__)
|
||||
i |= 0xE000;
|
||||
#elif defined(__sparc__) || defined (CONFIG_PARISC)
|
||||
#elif defined(CONFIG_SPARC) || defined (CONFIG_PARISC)
|
||||
i |= 0x4800;
|
||||
#else
|
||||
#warning Processor architecture undefined
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ static int rx_copybreak = 100;
|
|||
static int csr0 = 0x01A00000 | 0xE000;
|
||||
#elif defined(__powerpc__)
|
||||
static int csr0 = 0x01B00000 | 0x8000;
|
||||
#elif defined(__sparc__)
|
||||
#elif defined(CONFIG_SPARC)
|
||||
static int csr0 = 0x01B00080 | 0x8000;
|
||||
#elif defined(__i386__)
|
||||
static int csr0 = 0x01A00000 | 0x8000;
|
||||
|
|
|
|||
Loading…
Reference in a new issue