Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4184
b: refs/heads/master
c: 359ea2f
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Jul 7, 2005
1 parent 0f66590 commit 576fee0
Show file tree
Hide file tree
Showing 32 changed files with 422 additions and 115 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e1d5dea1dfbfe484358c40db7f233ed6b5605646
refs/heads/master: 359ea2f1352a77177540a213283bc7489f546ced
3 changes: 3 additions & 0 deletions trunk/arch/arm/kernel/armksyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,10 @@ extern void fp_enter(void);
* This has a special calling convention; it doesn't
* modify any of the usual registers, except for LR.
*/
#define EXPORT_CRC_ALIAS(sym) __CRC_SYMBOL(sym, "")

#define EXPORT_SYMBOL_ALIAS(sym,orig) \
EXPORT_CRC_ALIAS(sym) \
const struct kernel_symbol __ksymtab_##sym \
__attribute__((section("__ksymtab"))) = \
{ (unsigned long)&orig, #sym };
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-ixp4xx/common-pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -453,8 +453,8 @@ int ixp4xx_setup(int nr, struct pci_sys_data *sys)
local_write_config(PCI_COMMAND, 2, PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);

res[0].name = "PCI I/O Space";
res[0].start = 0x00001000;
res[0].end = 0xffff0000;
res[0].start = 0x00000000;
res[0].end = 0x0000ffff;
res[0].flags = IORESOURCE_IO;

res[1].name = "PCI Memory Space";
Expand Down
27 changes: 15 additions & 12 deletions trunk/arch/arm/mach-ixp4xx/coyote-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,21 +56,24 @@ static struct resource coyote_uart_resource = {
.flags = IORESOURCE_MEM,
};

static struct plat_serial8250_port coyote_uart_data = {
.mapbase = IXP4XX_UART2_BASE_PHYS,
.membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
.irq = IRQ_IXP4XX_UART2,
.flags = UPF_BOOT_AUTOCONF,
.iotype = UPIO_MEM,
.regshift = 2,
.uartclk = IXP4XX_UART_XTAL,
static struct plat_serial8250_port coyote_uart_data[] = {
{
.mapbase = IXP4XX_UART2_BASE_PHYS,
.membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
.irq = IRQ_IXP4XX_UART2,
.flags = UPF_BOOT_AUTOCONF,
.iotype = UPIO_MEM,
.regshift = 2,
.uartclk = IXP4XX_UART_XTAL,
},
{ },
};

static struct platform_device coyote_uart = {
.name = "serial8250",
.id = 0,
.dev = {
.platform_data = &coyote_uart_data,
.platform_data = coyote_uart_data,
},
.num_resources = 1,
.resource = &coyote_uart_resource,
Expand All @@ -87,10 +90,10 @@ static void __init coyote_init(void)
*IXP4XX_EXP_CS1 = *IXP4XX_EXP_CS0;

if (machine_is_ixdpg425()) {
coyote_uart_data.membase =
coyote_uart_data[0].membase =
(char*)(IXP4XX_UART1_BASE_VIRT + REG_OFFSET);
coyote_uart_data.mapbase = IXP4XX_UART1_BASE_PHYS;
coyote_uart_data.irq = IRQ_IXP4XX_UART1;
coyote_uart_data[0].mapbase = IXP4XX_UART1_BASE_PHYS;
coyote_uart_data[0].irq = IRQ_IXP4XX_UART1;
}


Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/arm/mach-ixp4xx/ixdp425-setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ static struct plat_serial8250_port ixdp425_uart_data[] = {
.iotype = UPIO_MEM,
.regshift = 2,
.uartclk = IXP4XX_UART_XTAL,
}
},
{ },
};

static struct platform_device ixdp425_uart = {
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mm/proc-v6.S
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ __v6_setup:
mcr p15, 0, r4, c2, c0, 1 @ load TTB1
#ifdef CONFIG_VFP
mrc p15, 0, r0, c1, c0, 2
orr r0, r0, #(3 << 20)
orr r0, r0, #(0xf << 20)
mcr p15, 0, r0, c1, c0, 2 @ Enable full access to VFP
#endif
mrc p15, 0, r0, c1, c0, 0 @ read control register
Expand Down
15 changes: 8 additions & 7 deletions trunk/arch/ppc/syslib/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <asm/errno.h>
#include <asm/of_device.h>

Expand All @@ -15,20 +16,20 @@
* Used by a driver to check whether an of_device present in the
* system is in its list of supported devices.
*/
const struct of_match * of_match_device(const struct of_match *matches,
const struct of_device_id * of_match_device(const struct of_device_id *matches,
const struct of_device *dev)
{
if (!dev->node)
return NULL;
while (matches->name || matches->type || matches->compatible) {
while (matches->name[0] || matches->type[0] || matches->compatible[0]) {
int match = 1;
if (matches->name && matches->name != OF_ANY_MATCH)
if (matches->name[0])
match &= dev->node->name
&& !strcmp(matches->name, dev->node->name);
if (matches->type && matches->type != OF_ANY_MATCH)
if (matches->type[0])
match &= dev->node->type
&& !strcmp(matches->type, dev->node->type);
if (matches->compatible && matches->compatible != OF_ANY_MATCH)
if (matches->compatible[0])
match &= device_is_compatible(dev->node,
matches->compatible);
if (match)
Expand All @@ -42,7 +43,7 @@ static int of_platform_bus_match(struct device *dev, struct device_driver *drv)
{
struct of_device * of_dev = to_of_device(dev);
struct of_platform_driver * of_drv = to_of_platform_driver(drv);
const struct of_match * matches = of_drv->match_table;
const struct of_device_id * matches = of_drv->match_table;

if (!matches)
return 0;
Expand Down Expand Up @@ -75,7 +76,7 @@ static int of_device_probe(struct device *dev)
int error = -ENODEV;
struct of_platform_driver *drv;
struct of_device *of_dev;
const struct of_match *match;
const struct of_device_id *match;

drv = to_of_platform_driver(dev->driver);
of_dev = to_of_device(dev);
Expand Down
15 changes: 8 additions & 7 deletions trunk/arch/ppc64/kernel/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <asm/errno.h>
#include <asm/of_device.h>

Expand All @@ -15,20 +16,20 @@
* Used by a driver to check whether an of_device present in the
* system is in its list of supported devices.
*/
const struct of_match * of_match_device(const struct of_match *matches,
const struct of_device_id *of_match_device(const struct of_device_id *matches,
const struct of_device *dev)
{
if (!dev->node)
return NULL;
while (matches->name || matches->type || matches->compatible) {
while (matches->name[0] || matches->type[0] || matches->compatible[0]) {
int match = 1;
if (matches->name && matches->name != OF_ANY_MATCH)
if (matches->name[0])
match &= dev->node->name
&& !strcmp(matches->name, dev->node->name);
if (matches->type && matches->type != OF_ANY_MATCH)
if (matches->type[0])
match &= dev->node->type
&& !strcmp(matches->type, dev->node->type);
if (matches->compatible && matches->compatible != OF_ANY_MATCH)
if (matches->compatible[0])
match &= device_is_compatible(dev->node,
matches->compatible);
if (match)
Expand All @@ -42,7 +43,7 @@ static int of_platform_bus_match(struct device *dev, struct device_driver *drv)
{
struct of_device * of_dev = to_of_device(dev);
struct of_platform_driver * of_drv = to_of_platform_driver(drv);
const struct of_match * matches = of_drv->match_table;
const struct of_device_id * matches = of_drv->match_table;

if (!matches)
return 0;
Expand Down Expand Up @@ -75,7 +76,7 @@ static int of_device_probe(struct device *dev)
int error = -ENODEV;
struct of_platform_driver *drv;
struct of_device *of_dev;
const struct of_match *match;
const struct of_device_id *match;

drv = to_of_platform_driver(dev->driver);
of_dev = to_of_device(dev);
Expand Down
7 changes: 3 additions & 4 deletions trunk/drivers/i2c/busses/i2c-keywest.c
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@ dispose_iface(struct device *dev)
}

static int
create_iface_macio(struct macio_dev* dev, const struct of_match *match)
create_iface_macio(struct macio_dev* dev, const struct of_device_id *match)
{
return create_iface(dev->ofdev.node, &dev->ofdev.dev);
}
Expand All @@ -710,7 +710,7 @@ dispose_iface_macio(struct macio_dev* dev)
}

static int
create_iface_of_platform(struct of_device* dev, const struct of_match *match)
create_iface_of_platform(struct of_device* dev, const struct of_device_id *match)
{
return create_iface(dev->node, &dev->dev);
}
Expand All @@ -721,10 +721,9 @@ dispose_iface_of_platform(struct of_device* dev)
return dispose_iface(&dev->dev);
}

static struct of_match i2c_keywest_match[] =
static struct of_device_id i2c_keywest_match[] =
{
{
.name = OF_ANY_MATCH,
.type = "i2c",
.compatible = "keywest"
},
Expand Down
12 changes: 2 additions & 10 deletions trunk/drivers/ide/ppc/pmac.c
Original file line number Diff line number Diff line change
Expand Up @@ -1419,7 +1419,7 @@ pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
* Attach to a macio probed interface
*/
static int __devinit
pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_match *match)
pmac_ide_macio_attach(struct macio_dev *mdev, const struct of_device_id *match)
{
void __iomem *base;
unsigned long regbase;
Expand Down Expand Up @@ -1637,27 +1637,19 @@ pmac_ide_pci_resume(struct pci_dev *pdev)
return rc;
}

static struct of_match pmac_ide_macio_match[] =
static struct of_device_id pmac_ide_macio_match[] =
{
{
.name = "IDE",
.type = OF_ANY_MATCH,
.compatible = OF_ANY_MATCH
},
{
.name = "ATA",
.type = OF_ANY_MATCH,
.compatible = OF_ANY_MATCH
},
{
.name = OF_ANY_MATCH,
.type = "ide",
.compatible = OF_ANY_MATCH
},
{
.name = OF_ANY_MATCH,
.type = "ata",
.compatible = OF_ANY_MATCH
},
{},
};
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/ieee1394/ieee1394_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ struct hpsb_packet {

/* These are core internal. */
signed char tlabel;
char ack_code;
char tcode;
signed char ack_code;
unsigned char tcode;

unsigned expect_response:1;
unsigned no_waiter:1;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/macintosh/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# Each configuration option enables a list of files.

obj-$(CONFIG_PPC_PMAC) += macio_asic.o
obj-$(CONFIG_PPC_PMAC) += macio_asic.o macio_sysfs.o

obj-$(CONFIG_PMAC_MEDIABAY) += mediabay.o
obj-$(CONFIG_MAC_EMUMOUSEBTN) += mac_hid.o
Expand Down
78 changes: 76 additions & 2 deletions trunk/drivers/macintosh/macio_asic.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ static int macio_bus_match(struct device *dev, struct device_driver *drv)
{
struct macio_dev * macio_dev = to_macio_device(dev);
struct macio_driver * macio_drv = to_macio_driver(drv);
const struct of_match * matches = macio_drv->match_table;
const struct of_device_id * matches = macio_drv->match_table;

if (!matches)
return 0;
Expand Down Expand Up @@ -66,7 +66,7 @@ static int macio_device_probe(struct device *dev)
int error = -ENODEV;
struct macio_driver *drv;
struct macio_dev *macio_dev;
const struct of_match *match;
const struct of_device_id *match;

drv = to_macio_driver(dev->driver);
macio_dev = to_macio_device(dev);
Expand Down Expand Up @@ -126,11 +126,85 @@ static int macio_device_resume(struct device * dev)
return 0;
}

static int macio_hotplug (struct device *dev, char **envp, int num_envp,
char *buffer, int buffer_size)
{
struct macio_dev * macio_dev;
struct of_device * of;
char *scratch, *compat;
int i = 0;
int length = 0;
int cplen, seen = 0;

if (!dev)
return -ENODEV;

macio_dev = to_macio_device(dev);
if (!macio_dev)
return -ENODEV;

of = &macio_dev->ofdev;
scratch = buffer;

/* stuff we want to pass to /sbin/hotplug */
envp[i++] = scratch;
length += scnprintf (scratch, buffer_size - length, "OF_NAME=%s",
of->node->name);
if ((buffer_size - length <= 0) || (i >= num_envp))
return -ENOMEM;
++length;
scratch += length;

envp[i++] = scratch;
length += scnprintf (scratch, buffer_size - length, "OF_TYPE=%s",
of->node->type);
if ((buffer_size - length <= 0) || (i >= num_envp))
return -ENOMEM;
++length;
scratch += length;

/* Since the compatible field can contain pretty much anything
* it's not really legal to split it out with commas. We split it
* up using a number of environment variables instead. */

compat = (char *) get_property(of->node, "compatible", &cplen);
while (compat && cplen > 0) {
int l;
envp[i++] = scratch;
length += scnprintf (scratch, buffer_size - length,
"OF_COMPATIBLE_%d=%s", seen, compat);
if ((buffer_size - length <= 0) || (i >= num_envp))
return -ENOMEM;
length++;
scratch += length;
l = strlen (compat) + 1;
compat += l;
cplen -= l;
seen++;
}

envp[i++] = scratch;
length += scnprintf (scratch, buffer_size - length,
"OF_COMPATIBLE_N=%d", seen);
if ((buffer_size - length <= 0) || (i >= num_envp))
return -ENOMEM;
++length;
scratch += length;

envp[i] = NULL;

return 0;
}

extern struct device_attribute macio_dev_attrs[];

struct bus_type macio_bus_type = {
.name = "macio",
.match = macio_bus_match,
.hotplug = macio_hotplug,
.suspend = macio_device_suspend,
.resume = macio_device_resume,
.dev_attrs = macio_dev_attrs,
};

static int __init macio_bus_driver_init(void)
Expand Down
Loading

0 comments on commit 576fee0

Please sign in to comment.