You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07: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:
@@ -36,7 +36,6 @@ lib-y = __divqu.o __remqu.o __divlu.o __remlu.o \
|
||||
$(ev6-y)csum_ipv6_magic.o \
|
||||
$(ev6-y)clear_page.o \
|
||||
$(ev6-y)copy_page.o \
|
||||
strcasecmp.o \
|
||||
fpreg.o \
|
||||
callback_srm.o srm_puts.o srm_printk.o
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
* linux/arch/alpha/lib/strcasecmp.c
|
||||
*/
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
|
||||
/* We handle nothing here except the C locale. Since this is used in
|
||||
only one place, on strings known to contain only 7 bit ASCII, this
|
||||
is ok. */
|
||||
|
||||
int strcasecmp(const char *a, const char *b)
|
||||
{
|
||||
int ca, cb;
|
||||
|
||||
do {
|
||||
ca = *a++ & 0xff;
|
||||
cb = *b++ & 0xff;
|
||||
if (ca >= 'A' && ca <= 'Z')
|
||||
ca += 'a' - 'A';
|
||||
if (cb >= 'A' && cb <= 'Z')
|
||||
cb += 'a' - 'A';
|
||||
} while (ca == cb && ca != '\0');
|
||||
|
||||
return ca - cb;
|
||||
}
|
||||
@@ -84,8 +84,6 @@ EXPORT_SYMBOL(strncpy);
|
||||
EXPORT_SYMBOL(strcat);
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(strcmp);
|
||||
EXPORT_SYMBOL(strcasecmp);
|
||||
EXPORT_SYMBOL(strncasecmp);
|
||||
|
||||
EXPORT_SYMBOL(csum_partial);
|
||||
EXPORT_SYMBOL(csum_partial_copy_generic);
|
||||
|
||||
@@ -7,13 +7,12 @@ EXTRA_CFLAGS += -mno-minimal-toc
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_PPC_MERGE),y)
|
||||
obj-y := string.o strcase.o
|
||||
obj-y := string.o
|
||||
obj-$(CONFIG_PPC32) += div64.o copy_32.o checksum_32.o
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_PPC64) += checksum_64.o copypage_64.o copyuser_64.o \
|
||||
memcpy_64.o usercopy_64.o mem_64.o string.o \
|
||||
strcase.o
|
||||
memcpy_64.o usercopy_64.o mem_64.o string.o
|
||||
obj-$(CONFIG_QUICC_ENGINE) += rheap.o
|
||||
obj-$(CONFIG_XMON) += sstep.o
|
||||
obj-$(CONFIG_KPROBES) += sstep.o
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/string.h>
|
||||
|
||||
int strcasecmp(const char *s1, const char *s2)
|
||||
{
|
||||
int c1, c2;
|
||||
|
||||
do {
|
||||
c1 = tolower(*s1++);
|
||||
c2 = tolower(*s2++);
|
||||
} while (c1 == c2 && c1 != 0);
|
||||
return c1 - c2;
|
||||
}
|
||||
|
||||
int strncasecmp(const char *s1, const char *s2, size_t n)
|
||||
{
|
||||
int c1, c2;
|
||||
|
||||
do {
|
||||
c1 = tolower(*s1++);
|
||||
c2 = tolower(*s2++);
|
||||
} while ((--n > 0) && c1 == c2 && c1 != 0);
|
||||
return c1 - c2;
|
||||
}
|
||||
@@ -93,8 +93,6 @@ EXPORT_SYMBOL(strncpy);
|
||||
EXPORT_SYMBOL(strcat);
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(strcmp);
|
||||
EXPORT_SYMBOL(strcasecmp);
|
||||
EXPORT_SYMBOL(strncasecmp);
|
||||
EXPORT_SYMBOL(__div64_32);
|
||||
|
||||
EXPORT_SYMBOL(csum_partial);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Makefile for ppc-specific library files..
|
||||
#
|
||||
|
||||
obj-y := checksum.o string.o strcase.o div64.o
|
||||
obj-y := checksum.o string.o div64.o
|
||||
|
||||
obj-$(CONFIG_8xx) += rheap.o
|
||||
obj-$(CONFIG_CPM2) += rheap.o
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
int strcasecmp(const char *s1, const char *s2)
|
||||
{
|
||||
int c1, c2;
|
||||
|
||||
do {
|
||||
c1 = tolower(*s1++);
|
||||
c2 = tolower(*s2++);
|
||||
} while (c1 == c2 && c1 != 0);
|
||||
return c1 - c2;
|
||||
}
|
||||
|
||||
int strncasecmp(const char *s1, const char *s2, size_t n)
|
||||
{
|
||||
int c1, c2;
|
||||
|
||||
do {
|
||||
c1 = tolower(*s1++);
|
||||
c2 = tolower(*s2++);
|
||||
} while ((--n > 0) && c1 == c2 && c1 != 0);
|
||||
return c1 - c2;
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
|
||||
lib-y = delay.o memset.o memmove.o memchr.o \
|
||||
checksum.o strcasecmp.o strlen.o div64.o udivdi3.o \
|
||||
checksum.o strlen.o div64.o udivdi3.o \
|
||||
div64-generic.o
|
||||
|
||||
memcpy-y := memcpy.o
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/*
|
||||
* linux/arch/alpha/lib/strcasecmp.c
|
||||
*/
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
|
||||
/* We handle nothing here except the C locale. Since this is used in
|
||||
only one place, on strings known to contain only 7 bit ASCII, this
|
||||
is ok. */
|
||||
|
||||
int strcasecmp(const char *a, const char *b)
|
||||
{
|
||||
int ca, cb;
|
||||
|
||||
do {
|
||||
ca = *a++ & 0xff;
|
||||
cb = *b++ & 0xff;
|
||||
if (ca >= 'A' && ca <= 'Z')
|
||||
ca += 'a' - 'A';
|
||||
if (cb >= 'A' && cb <= 'Z')
|
||||
cb += 'a' - 'A';
|
||||
} while (ca == cb && ca != '\0');
|
||||
|
||||
return ca - cb;
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
struct linux_ebus *ebus_chain = NULL;
|
||||
|
||||
/* We are together with pcic.c under CONFIG_PCI. */
|
||||
extern unsigned int pcic_pin_to_irq(unsigned int, char *name);
|
||||
extern unsigned int pcic_pin_to_irq(unsigned int, const char *name);
|
||||
|
||||
/*
|
||||
* IRQ Blacklist
|
||||
@@ -69,7 +69,7 @@ static inline unsigned long ebus_alloc(size_t size)
|
||||
|
||||
/*
|
||||
*/
|
||||
int __init ebus_blacklist_irq(char *name)
|
||||
int __init ebus_blacklist_irq(const char *name)
|
||||
{
|
||||
struct ebus_device_irq *dp;
|
||||
|
||||
@@ -86,8 +86,8 @@ int __init ebus_blacklist_irq(char *name)
|
||||
void __init fill_ebus_child(struct device_node *dp,
|
||||
struct linux_ebus_child *dev)
|
||||
{
|
||||
int *regs;
|
||||
int *irqs;
|
||||
const int *regs;
|
||||
const int *irqs;
|
||||
int i, len;
|
||||
|
||||
dev->prom_node = dp;
|
||||
@@ -146,9 +146,9 @@ void __init fill_ebus_child(struct device_node *dp,
|
||||
|
||||
void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *dev)
|
||||
{
|
||||
struct linux_prom_registers *regs;
|
||||
const struct linux_prom_registers *regs;
|
||||
struct linux_ebus_child *child;
|
||||
int *irqs;
|
||||
const int *irqs;
|
||||
int i, n, len;
|
||||
unsigned long baseaddr;
|
||||
|
||||
@@ -269,7 +269,7 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
|
||||
|
||||
void __init ebus_init(void)
|
||||
{
|
||||
struct linux_prom_pci_registers *regs;
|
||||
const struct linux_prom_pci_registers *regs;
|
||||
struct linux_pbm_info *pbm;
|
||||
struct linux_ebus_device *dev;
|
||||
struct linux_ebus *ebus;
|
||||
|
||||
@@ -210,7 +210,7 @@ struct of_bus {
|
||||
int *addrc, int *sizec);
|
||||
int (*map)(u32 *addr, const u32 *range,
|
||||
int na, int ns, int pna);
|
||||
unsigned int (*get_flags)(u32 *addr);
|
||||
unsigned int (*get_flags)(const u32 *addr);
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -270,7 +270,7 @@ static int of_bus_default_map(u32 *addr, const u32 *range,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int of_bus_default_get_flags(u32 *addr)
|
||||
static unsigned int of_bus_default_get_flags(const u32 *addr)
|
||||
{
|
||||
return IORESOURCE_MEM;
|
||||
}
|
||||
@@ -334,7 +334,7 @@ static int of_bus_pci_map(u32 *addr, const u32 *range,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int of_bus_pci_get_flags(u32 *addr)
|
||||
static unsigned int of_bus_pci_get_flags(const u32 *addr)
|
||||
{
|
||||
unsigned int flags = 0;
|
||||
u32 w = addr[0];
|
||||
@@ -375,7 +375,7 @@ static int of_bus_sbus_map(u32 *addr, const u32 *range, int na, int ns, int pna)
|
||||
return of_bus_default_map(addr, range, na, ns, pna);
|
||||
}
|
||||
|
||||
static unsigned int of_bus_sbus_get_flags(u32 *addr)
|
||||
static unsigned int of_bus_sbus_get_flags(const u32 *addr)
|
||||
{
|
||||
return IORESOURCE_MEM;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ static int __init build_one_resource(struct device_node *parent,
|
||||
u32 *addr,
|
||||
int na, int ns, int pna)
|
||||
{
|
||||
u32 *ranges;
|
||||
const u32 *ranges;
|
||||
unsigned int rlen;
|
||||
int rone;
|
||||
|
||||
@@ -470,7 +470,7 @@ static void __init build_device_resources(struct of_device *op,
|
||||
struct of_bus *bus;
|
||||
int na, ns;
|
||||
int index, num_reg;
|
||||
void *preg;
|
||||
const void *preg;
|
||||
|
||||
if (!parent)
|
||||
return;
|
||||
@@ -492,7 +492,7 @@ static void __init build_device_resources(struct of_device *op,
|
||||
for (index = 0; index < num_reg; index++) {
|
||||
struct resource *r = &op->resource[index];
|
||||
u32 addr[OF_MAX_ADDR_CELLS];
|
||||
u32 *reg = (preg + (index * ((na + ns) * 4)));
|
||||
const u32 *reg = (preg + (index * ((na + ns) * 4)));
|
||||
struct device_node *dp = op->node;
|
||||
struct device_node *pp = p_op->node;
|
||||
struct of_bus *pbus, *dbus;
|
||||
@@ -559,7 +559,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
|
||||
struct device *parent)
|
||||
{
|
||||
struct of_device *op = kzalloc(sizeof(*op), GFP_KERNEL);
|
||||
struct linux_prom_irqs *intr;
|
||||
const struct linux_prom_irqs *intr;
|
||||
int len, i;
|
||||
|
||||
if (!op)
|
||||
@@ -579,7 +579,8 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
|
||||
for (i = 0; i < op->num_irqs; i++)
|
||||
op->irqs[i] = intr[i].pri;
|
||||
} else {
|
||||
unsigned int *irq = of_get_property(dp, "interrupts", &len);
|
||||
const unsigned int *irq =
|
||||
of_get_property(dp, "interrupts", &len);
|
||||
|
||||
if (irq) {
|
||||
op->num_irqs = len / sizeof(unsigned int);
|
||||
@@ -594,7 +595,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp,
|
||||
0, 0, 1, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 0,
|
||||
};
|
||||
struct device_node *io_unit, *sbi = dp->parent;
|
||||
struct linux_prom_registers *regs;
|
||||
const struct linux_prom_registers *regs;
|
||||
int board, slot;
|
||||
|
||||
while (sbi) {
|
||||
|
||||
@@ -37,8 +37,6 @@
|
||||
#include <asm/irq_regs.h>
|
||||
|
||||
|
||||
unsigned int pcic_pin_to_irq(unsigned int pin, char *name);
|
||||
|
||||
/*
|
||||
* I studied different documents and many live PROMs both from 2.30
|
||||
* family and 3.xx versions. I came to the amazing conclusion: there is
|
||||
@@ -681,7 +679,7 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
|
||||
* pcic_pin_to_irq() is exported to ebus.c.
|
||||
*/
|
||||
unsigned int
|
||||
pcic_pin_to_irq(unsigned int pin, char *name)
|
||||
pcic_pin_to_irq(unsigned int pin, const char *name)
|
||||
{
|
||||
struct linux_pcic *pcic = &pcic0;
|
||||
unsigned int irq;
|
||||
|
||||
@@ -32,12 +32,13 @@ static struct device_node *allnodes;
|
||||
*/
|
||||
static DEFINE_RWLOCK(devtree_lock);
|
||||
|
||||
int of_device_is_compatible(struct device_node *device, const char *compat)
|
||||
int of_device_is_compatible(const struct device_node *device,
|
||||
const char *compat)
|
||||
{
|
||||
const char* cp;
|
||||
int cplen, l;
|
||||
|
||||
cp = (char *) of_get_property(device, "compatible", &cplen);
|
||||
cp = of_get_property(device, "compatible", &cplen);
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
while (cplen > 0) {
|
||||
@@ -150,13 +151,14 @@ struct device_node *of_find_compatible_node(struct device_node *from,
|
||||
}
|
||||
EXPORT_SYMBOL(of_find_compatible_node);
|
||||
|
||||
struct property *of_find_property(struct device_node *np, const char *name,
|
||||
struct property *of_find_property(const struct device_node *np,
|
||||
const char *name,
|
||||
int *lenp)
|
||||
{
|
||||
struct property *pp;
|
||||
|
||||
for (pp = np->properties; pp != 0; pp = pp->next) {
|
||||
if (strcmp(pp->name, name) == 0) {
|
||||
if (strcasecmp(pp->name, name) == 0) {
|
||||
if (lenp != 0)
|
||||
*lenp = pp->length;
|
||||
break;
|
||||
@@ -170,7 +172,8 @@ EXPORT_SYMBOL(of_find_property);
|
||||
* Find a property with a given name for a given node
|
||||
* and return the value.
|
||||
*/
|
||||
void *of_get_property(struct device_node *np, const char *name, int *lenp)
|
||||
const void *of_get_property(const struct device_node *np, const char *name,
|
||||
int *lenp)
|
||||
{
|
||||
struct property *pp = of_find_property(np,name,lenp);
|
||||
return pp ? pp->value : NULL;
|
||||
@@ -192,7 +195,7 @@ EXPORT_SYMBOL(of_getintprop_default);
|
||||
|
||||
int of_n_addr_cells(struct device_node *np)
|
||||
{
|
||||
int* ip;
|
||||
const int* ip;
|
||||
do {
|
||||
if (np->parent)
|
||||
np = np->parent;
|
||||
@@ -207,7 +210,7 @@ EXPORT_SYMBOL(of_n_addr_cells);
|
||||
|
||||
int of_n_size_cells(struct device_node *np)
|
||||
{
|
||||
int* ip;
|
||||
const int* ip;
|
||||
do {
|
||||
if (np->parent)
|
||||
np = np->parent;
|
||||
@@ -239,7 +242,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
|
||||
while (*prevp) {
|
||||
struct property *prop = *prevp;
|
||||
|
||||
if (!strcmp(prop->name, name)) {
|
||||
if (!strcasecmp(prop->name, name)) {
|
||||
void *old_val = prop->value;
|
||||
int ret;
|
||||
|
||||
|
||||
@@ -301,7 +301,7 @@ static __inline__ void sun4_clock_probe(void)
|
||||
static int __devinit clock_probe(struct of_device *op, const struct of_device_id *match)
|
||||
{
|
||||
struct device_node *dp = op->node;
|
||||
char *model = of_get_property(dp, "model", NULL);
|
||||
const char *model = of_get_property(dp, "model", NULL);
|
||||
|
||||
if (!model)
|
||||
return -ENODEV;
|
||||
|
||||
+11
-4
@@ -19,6 +19,14 @@ config SPARC64
|
||||
SPARC64 ports; its web page is available at
|
||||
<http://www.ultralinux.org/>.
|
||||
|
||||
config GENERIC_TIME
|
||||
bool
|
||||
default y
|
||||
|
||||
config GENERIC_CLOCKEVENTS
|
||||
bool
|
||||
default y
|
||||
|
||||
config 64BIT
|
||||
def_bool y
|
||||
|
||||
@@ -34,10 +42,6 @@ config LOCKDEP_SUPPORT
|
||||
bool
|
||||
default y
|
||||
|
||||
config TIME_INTERPOLATION
|
||||
bool
|
||||
default y
|
||||
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
default y
|
||||
@@ -113,6 +117,8 @@ config GENERIC_HARDIRQS
|
||||
|
||||
menu "General machine setup"
|
||||
|
||||
source "kernel/time/Kconfig"
|
||||
|
||||
config SMP
|
||||
bool "Symmetric multi-processing support"
|
||||
---help---
|
||||
@@ -214,6 +220,7 @@ config ARCH_SPARSEMEM_ENABLE
|
||||
|
||||
config ARCH_SPARSEMEM_DEFAULT
|
||||
def_bool y
|
||||
select SPARSEMEM_STATIC
|
||||
|
||||
config LARGE_ALLOCS
|
||||
def_bool y
|
||||
|
||||
@@ -32,7 +32,7 @@ static void central_probe_failure(int line)
|
||||
static void central_ranges_init(struct linux_central *central)
|
||||
{
|
||||
struct device_node *dp = central->prom_node;
|
||||
void *pval;
|
||||
const void *pval;
|
||||
int len;
|
||||
|
||||
central->num_central_ranges = 0;
|
||||
@@ -47,7 +47,7 @@ static void central_ranges_init(struct linux_central *central)
|
||||
static void fhc_ranges_init(struct linux_fhc *fhc)
|
||||
{
|
||||
struct device_node *dp = fhc->prom_node;
|
||||
void *pval;
|
||||
const void *pval;
|
||||
int len;
|
||||
|
||||
fhc->num_fhc_ranges = 0;
|
||||
@@ -119,7 +119,7 @@ static unsigned long prom_reg_to_paddr(struct linux_prom_registers *r)
|
||||
static void probe_other_fhcs(void)
|
||||
{
|
||||
struct device_node *dp;
|
||||
struct linux_prom64_registers *fpregs;
|
||||
const struct linux_prom64_registers *fpregs;
|
||||
|
||||
for_each_node_by_name(dp, "fhc") {
|
||||
struct linux_fhc *fhc;
|
||||
@@ -190,7 +190,8 @@ static void probe_clock_board(struct linux_central *central,
|
||||
struct device_node *fp)
|
||||
{
|
||||
struct device_node *dp;
|
||||
struct linux_prom_registers cregs[3], *pr;
|
||||
struct linux_prom_registers cregs[3];
|
||||
const struct linux_prom_registers *pr;
|
||||
int nslots, tmp, nregs;
|
||||
|
||||
dp = fp->child;
|
||||
@@ -299,7 +300,8 @@ static void init_all_fhc_hw(void)
|
||||
|
||||
void central_probe(void)
|
||||
{
|
||||
struct linux_prom_registers fpregs[6], *pr;
|
||||
struct linux_prom_registers fpregs[6];
|
||||
const struct linux_prom_registers *pr;
|
||||
struct linux_fhc *fhc;
|
||||
struct device_node *dp, *fp;
|
||||
int err;
|
||||
|
||||
@@ -343,8 +343,8 @@ static int init_one_mctrl(struct device_node *dp)
|
||||
{
|
||||
struct mctrl_info *mp = kzalloc(sizeof(*mp), GFP_KERNEL);
|
||||
int portid = of_getintprop_default(dp, "portid", -1);
|
||||
struct linux_prom64_registers *regs;
|
||||
void *pval;
|
||||
const struct linux_prom64_registers *regs;
|
||||
const void *pval;
|
||||
int len;
|
||||
|
||||
if (!mp)
|
||||
|
||||
@@ -285,7 +285,7 @@ static void __init fill_ebus_child(struct device_node *dp,
|
||||
int non_standard_regs)
|
||||
{
|
||||
struct of_device *op;
|
||||
int *regs;
|
||||
const int *regs;
|
||||
int i, len;
|
||||
|
||||
dev->prom_node = dp;
|
||||
@@ -438,11 +438,9 @@ static struct pci_dev *find_next_ebus(struct pci_dev *start, int *is_rio_p)
|
||||
|
||||
void __init ebus_init(void)
|
||||
{
|
||||
struct pci_pbm_info *pbm;
|
||||
struct linux_ebus_device *dev;
|
||||
struct linux_ebus *ebus;
|
||||
struct pci_dev *pdev;
|
||||
struct pcidev_cookie *cookie;
|
||||
struct device_node *dp;
|
||||
int is_rio;
|
||||
int num_ebus = 0;
|
||||
@@ -453,8 +451,7 @@ void __init ebus_init(void)
|
||||
return;
|
||||
}
|
||||
|
||||
cookie = pdev->sysdata;
|
||||
dp = cookie->prom_node;
|
||||
dp = pci_device_to_OF_node(pdev);
|
||||
|
||||
ebus_chain = ebus = ebus_alloc(sizeof(struct linux_ebus));
|
||||
ebus->next = NULL;
|
||||
@@ -480,8 +477,7 @@ void __init ebus_init(void)
|
||||
break;
|
||||
}
|
||||
ebus->is_rio = is_rio;
|
||||
cookie = pdev->sysdata;
|
||||
dp = cookie->prom_node;
|
||||
dp = pci_device_to_OF_node(pdev);
|
||||
continue;
|
||||
}
|
||||
printk("ebus%d:", num_ebus);
|
||||
@@ -489,7 +485,6 @@ void __init ebus_init(void)
|
||||
ebus->index = num_ebus;
|
||||
ebus->prom_node = dp;
|
||||
ebus->self = pdev;
|
||||
ebus->parent = pbm = cookie->pbm;
|
||||
|
||||
ebus->ofdev.node = dp;
|
||||
ebus->ofdev.dev.parent = &pdev->dev;
|
||||
@@ -531,8 +526,7 @@ void __init ebus_init(void)
|
||||
if (!pdev)
|
||||
break;
|
||||
|
||||
cookie = pdev->sysdata;
|
||||
dp = cookie->prom_node;
|
||||
dp = pci_device_to_OF_node(pdev);
|
||||
|
||||
ebus->next = ebus_alloc(sizeof(struct linux_ebus));
|
||||
ebus = ebus->next;
|
||||
|
||||
@@ -589,32 +589,6 @@ void ack_bad_irq(unsigned int virt_irq)
|
||||
ino, virt_irq);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SMP
|
||||
extern irqreturn_t timer_interrupt(int, void *);
|
||||
|
||||
void timer_irq(int irq, struct pt_regs *regs)
|
||||
{
|
||||
unsigned long clr_mask = 1 << irq;
|
||||
unsigned long tick_mask = tick_ops->softint_mask;
|
||||
struct pt_regs *old_regs;
|
||||
|
||||
if (get_softint() & tick_mask) {
|
||||
irq = 0;
|
||||
clr_mask = tick_mask;
|
||||
}
|
||||
clear_softint(clr_mask);
|
||||
|
||||
old_regs = set_irq_regs(regs);
|
||||
irq_enter();
|
||||
|
||||
kstat_this_cpu.irqs[0]++;
|
||||
timer_interrupt(irq, NULL);
|
||||
|
||||
irq_exit();
|
||||
set_irq_regs(old_regs);
|
||||
}
|
||||
#endif
|
||||
|
||||
void handler_irq(int irq, struct pt_regs *regs)
|
||||
{
|
||||
struct ino_bucket *bucket;
|
||||
@@ -653,7 +627,7 @@ static u64 prom_limit0, prom_limit1;
|
||||
static void map_prom_timers(void)
|
||||
{
|
||||
struct device_node *dp;
|
||||
unsigned int *addr;
|
||||
const unsigned int *addr;
|
||||
|
||||
/* PROM timer node hangs out in the top level of device siblings... */
|
||||
dp = of_find_node_by_path("/");
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user