summaryrefslogtreecommitdiff
path: root/target/linux/ar7/patches/160-vlynq-bus_id_removal.patch
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-01 08:11:37 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-01 08:11:37 +0000
commite05eeb7e75550200983378ed48db3a3a1bfe3d84 (patch)
treeb842317adc94123568ad36ecbceacd07004e3517 /target/linux/ar7/patches/160-vlynq-bus_id_removal.patch
parentc5c3cf287d53a5d99ba8ac72867600c8a12de022 (diff)
[ar7] add experimental 2.6.30 support, boot tested
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16242 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar7/patches/160-vlynq-bus_id_removal.patch')
-rw-r--r--target/linux/ar7/patches/160-vlynq-bus_id_removal.patch148
1 files changed, 148 insertions, 0 deletions
diff --git a/target/linux/ar7/patches/160-vlynq-bus_id_removal.patch b/target/linux/ar7/patches/160-vlynq-bus_id_removal.patch
new file mode 100644
index 0000000000..c40837030d
--- /dev/null
+++ b/target/linux/ar7/patches/160-vlynq-bus_id_removal.patch
@@ -0,0 +1,148 @@
+--- a/drivers/vlynq/vlynq.c 2009-05-31 20:41:57.000000000 +0200
++++ b/drivers/vlynq/vlynq.c 2009-05-31 22:06:36.000000000 +0200
+@@ -82,6 +82,7 @@
+ static void vlynq_dump_regs(struct vlynq_device *dev)
+ {
+ int i;
++
+ printk(KERN_DEBUG "VLYNQ local=%p remote=%p\n",
+ dev->local, dev->remote);
+ for (i = 0; i < 32; i++) {
+@@ -95,6 +96,7 @@
+ static void vlynq_dump_mem(u32 *base, int count)
+ {
+ int i;
++
+ for (i = 0; i < (count + 3) / 4; i++) {
+ if (i % 4 == 0) printk(KERN_DEBUG "\nMEM[0x%04x]:", i * 4);
+ printk(KERN_DEBUG " 0x%08x", *(base + i));
+@@ -194,20 +196,24 @@
+ static void vlynq_local_ack(unsigned int irq)
+ {
+ struct vlynq_device *dev = get_irq_chip_data(irq);
++
+ u32 status = vlynq_reg_read(dev->local->status);
++
+ if (printk_ratelimit())
+ printk(KERN_DEBUG "%s: local status: 0x%08x\n",
+- dev->dev.bus_id, status);
++ dev_name(&dev->dev), status);
+ vlynq_reg_write(dev->local->status, status);
+ }
+
+ static void vlynq_remote_ack(unsigned int irq)
+ {
+ struct vlynq_device *dev = get_irq_chip_data(irq);
++
+ u32 status = vlynq_reg_read(dev->remote->status);
++
+ if (printk_ratelimit())
+ printk(KERN_DEBUG "%s: remote status: 0x%08x\n",
+- dev->dev.bus_id, status);
++ dev_name(&dev->dev), status);
+ vlynq_reg_write(dev->remote->status, status);
+ }
+
+@@ -262,7 +268,7 @@
+ if (dev->local_irq == dev->remote_irq) {
+ printk(KERN_ERR
+ "%s: local vlynq irq should be different from remote\n",
+- dev->dev.bus_id);
++ dev_name(&dev->dev));
+ return -EINVAL;
+ }
+
+@@ -304,7 +310,7 @@
+ }
+
+ if (request_irq(dev->irq, vlynq_irq, IRQF_SHARED, "vlynq", dev)) {
+- printk(KERN_ERR "%s: request_irq failed\n", dev->dev.bus_id);
++ printk(KERN_ERR "%s: request_irq failed\n", dev_name(&dev->dev));
+ return -EAGAIN;
+ }
+
+@@ -403,7 +409,7 @@
+ if (vlynq_linked(dev)) {
+ printk(KERN_DEBUG
+ "%s: using remote clock divisor %d\n",
+- dev->dev.bus_id, i - vlynq_rdiv1 + 1);
++ dev_name(&dev->dev), i - vlynq_rdiv1 + 1);
+ dev->divisor = i;
+ return 0;
+ } else {
+@@ -433,7 +439,7 @@
+ if (vlynq_linked(dev)) {
+ printk(KERN_DEBUG
+ "%s: using local clock divisor %d\n",
+- dev->dev.bus_id, i - vlynq_ldiv1 + 1);
++ dev_name(&dev->dev), i - vlynq_ldiv1 + 1);
+ dev->divisor = i;
+ return 0;
+ } else {
+@@ -460,7 +466,7 @@
+
+ if (vlynq_linked(dev)) {
+ printk(KERN_DEBUG "%s: using external clock\n",
+- dev->dev.bus_id);
++ dev_name(&dev->dev));
+ dev->divisor = vlynq_div_external;
+ return 0;
+ }
+@@ -507,7 +513,7 @@
+ if (vlynq_linked(dev)) {
+ printk(KERN_DEBUG
+ "%s: using local clock divisor %d\n",
+- dev->dev.bus_id, dev->divisor - vlynq_ldiv1 + 1);
++ dev_name(&dev->dev), dev->divisor - vlynq_ldiv1 + 1);
+ return 0;
+ }
+ break;
+@@ -521,7 +527,7 @@
+ if (vlynq_linked(dev)) {
+ printk(KERN_DEBUG
+ "%s: using remote clock divisor %d\n",
+- dev->dev.bus_id, dev->divisor - vlynq_rdiv1 + 1);
++ dev_name(&dev->dev), dev->divisor - vlynq_rdiv1 + 1);
+ return 0;
+ }
+ break;
+@@ -662,8 +668,7 @@
+ dev->id = pdev->id;
+ dev->dev.bus = &vlynq_bus_type;
+ dev->dev.parent = &pdev->dev;
+- snprintf(dev->dev.bus_id, BUS_ID_SIZE, "vlynq%d", dev->id);
+- dev->dev.bus_id[BUS_ID_SIZE - 1] = 0;
++ dev_set_name(&dev->dev, "vlynq%d", dev->id);
+ dev->dev.platform_data = pdev->dev.platform_data;
+ dev->dev.release = vlynq_device_release;
+
+@@ -673,9 +678,9 @@
+ dev->mem_end = mem_res->end;
+
+ len = regs_res->end - regs_res->start;
+- if (!request_mem_region(regs_res->start, len, dev->dev.bus_id)) {
++ if (!request_mem_region(regs_res->start, len, dev_name(&dev->dev))) {
+ printk(KERN_ERR "%s: Can't request vlynq registers\n",
+- dev->dev.bus_id);
++ dev_name(&dev->dev));
+ result = -ENXIO;
+ goto fail_request;
+ }
+@@ -683,7 +688,7 @@
+ dev->local = ioremap(regs_res->start, len);
+ if (!dev->local) {
+ printk(KERN_ERR "%s: Can't remap vlynq registers\n",
+- dev->dev.bus_id);
++ dev_name(&dev->dev));
+ result = -ENXIO;
+ goto fail_remap;
+ }
+@@ -702,7 +707,7 @@
+ platform_set_drvdata(pdev, dev);
+
+ printk(KERN_INFO "%s: regs 0x%p, irq %d, mem 0x%p\n",
+- dev->dev.bus_id, (void *)dev->regs_start, dev->irq,
++ dev_name(&dev->dev), (void *)dev->regs_start, dev->irq,
+ (void *)dev->mem_start);
+
+ dev->dev_id = 0;