git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove obsolete #include <linux/config.h>
[pandora-kernel.git]
/
arch
/
arm
/
kernel
/
ecard.c
diff --git
a/arch/arm/kernel/ecard.c
b/arch/arm/kernel/ecard.c
index
6540db6
..
68a2576
100644
(file)
--- a/
arch/arm/kernel/ecard.c
+++ b/
arch/arm/kernel/ecard.c
@@
-27,7
+27,6
@@
*/
#define ECARD_C
*/
#define ECARD_C
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
@@
-40,6
+39,7
@@
#include <linux/proc_fs.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/proc_fs.h>
#include <linux/device.h>
#include <linux/init.h>
+#include <linux/mutex.h>
#include <asm/dma.h>
#include <asm/ecard.h>
#include <asm/dma.h>
#include <asm/ecard.h>
@@
-206,7
+206,7
@@
static void ecard_task_readbytes(struct ecard_request *req)
static DECLARE_WAIT_QUEUE_HEAD(ecard_wait);
static struct ecard_request *ecard_req;
static DECLARE_WAIT_QUEUE_HEAD(ecard_wait);
static struct ecard_request *ecard_req;
-static DE
CLARE_MUTEX(ecard_sem
);
+static DE
FINE_MUTEX(ecard_mutex
);
/*
* Set up the expansion card daemon's page tables.
/*
* Set up the expansion card daemon's page tables.
@@
-299,7
+299,7
@@
static void ecard_call(struct ecard_request *req)
req->complete = &completion;
req->complete = &completion;
-
down(&ecard_sem
);
+
mutex_lock(&ecard_mutex
);
ecard_req = req;
wake_up(&ecard_wait);
ecard_req = req;
wake_up(&ecard_wait);
@@
-307,7
+307,7
@@
static void ecard_call(struct ecard_request *req)
* Now wait for kecardd to run.
*/
wait_for_completion(&completion);
* Now wait for kecardd to run.
*/
wait_for_completion(&completion);
-
up(&ecard_sem
);
+
mutex_unlock(&ecard_mutex
);
}
/* ======================= Mid-level card control ===================== */
}
/* ======================= Mid-level card control ===================== */
@@
-585,7
+585,7
@@
ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)
if (pending) {
struct irqdesc *d = irq_desc + ec->irq;
if (pending) {
struct irqdesc *d = irq_desc + ec->irq;
- d
->handle
(ec->irq, d, regs);
+ d
esc_handle_irq
(ec->irq, d, regs);
called ++;
}
}
called ++;
}
}
@@
-632,7
+632,7
@@
ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
* Serial cards should go in 0/1, ethernet/scsi in 2/3
* otherwise you will lose serial data at high speeds!
*/
* Serial cards should go in 0/1, ethernet/scsi in 2/3
* otherwise you will lose serial data at high speeds!
*/
- d
->handle
(ec->irq, d, regs);
+ d
esc_handle_irq
(ec->irq, d, regs);
} else {
printk(KERN_WARNING "card%d: interrupt from unclaimed "
"card???\n", slot);
} else {
printk(KERN_WARNING "card%d: interrupt from unclaimed "
"card???\n", slot);
@@
-806,14
+806,12
@@
static struct expansion_card *__init ecard_alloc_card(int type, int slot)
unsigned long base;
int i;
unsigned long base;
int i;
- ec = k
m
alloc(sizeof(ecard_t), GFP_KERNEL);
+ ec = k
z
alloc(sizeof(ecard_t), GFP_KERNEL);
if (!ec) {
ec = ERR_PTR(-ENOMEM);
goto nomem;
}
if (!ec) {
ec = ERR_PTR(-ENOMEM);
goto nomem;
}
- memset(ec, 0, sizeof(ecard_t));
-
ec->slot_no = slot;
ec->type = type;
ec->irq = NO_IRQ;
ec->slot_no = slot;
ec->type = type;
ec->irq = NO_IRQ;
@@
-1146,9
+1144,11
@@
static void ecard_drv_shutdown(struct device *dev)
struct ecard_driver *drv = ECARD_DRV(dev->driver);
struct ecard_request req;
struct ecard_driver *drv = ECARD_DRV(dev->driver);
struct ecard_request req;
- if (drv->shutdown)
- drv->shutdown(ec);
- ecard_release(ec);
+ if (dev->driver) {
+ if (drv->shutdown)
+ drv->shutdown(ec);
+ ecard_release(ec);
+ }
/*
* If this card has a loader, call the reset handler.
/*
* If this card has a loader, call the reset handler.
@@
-1163,9
+1163,6
@@
static void ecard_drv_shutdown(struct device *dev)
int ecard_register_driver(struct ecard_driver *drv)
{
drv->drv.bus = &ecard_bus_type;
int ecard_register_driver(struct ecard_driver *drv)
{
drv->drv.bus = &ecard_bus_type;
- drv->drv.probe = ecard_drv_probe;
- drv->drv.remove = ecard_drv_remove;
- drv->drv.shutdown = ecard_drv_shutdown;
return driver_register(&drv->drv);
}
return driver_register(&drv->drv);
}
@@
-1194,6
+1191,9
@@
struct bus_type ecard_bus_type = {
.name = "ecard",
.dev_attrs = ecard_dev_attrs,
.match = ecard_match,
.name = "ecard",
.dev_attrs = ecard_dev_attrs,
.match = ecard_match,
+ .probe = ecard_drv_probe,
+ .remove = ecard_drv_remove,
+ .shutdown = ecard_drv_shutdown,
};
static int ecard_bus_init(void)
};
static int ecard_bus_init(void)