diff options
Diffstat (limited to 'target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch')
-rw-r--r-- | target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch b/target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch deleted file mode 100644 index 86f2f770e9..0000000000 --- a/target/linux/omap24xx/patches-3.1/252-cbus-retu-tahvo-ack-fix.patch +++ /dev/null @@ -1,142 +0,0 @@ ---- a/drivers/cbus/retu.c -+++ b/drivers/cbus/retu.c -@@ -53,9 +53,6 @@ struct retu { - - int irq; - -- int ack; -- bool ack_pending; -- - int mask; - bool mask_pending; - -@@ -191,9 +188,10 @@ static irqreturn_t retu_irq_handler(int - mutex_lock(&retu->mutex); - idr = __retu_read_reg(retu, RETU_REG_IDR); - imr = __retu_read_reg(retu, RETU_REG_IMR); -+ idr &= ~imr; -+ __retu_write_reg(retu, RETU_REG_IDR, idr); - mutex_unlock(&retu->mutex); - -- idr &= ~imr; - if (!idr) { - dev_vdbg(retu->dev, "No IRQ, spurious?\n"); - return IRQ_NONE; -@@ -232,15 +230,6 @@ static void retu_irq_unmask(struct irq_d - - } - --static void retu_irq_ack(struct irq_data *data) --{ -- struct retu *retu = irq_data_get_irq_chip_data(data); -- int irq = data->irq; -- -- retu->ack |= (1 << (irq - retu->irq_base)); -- retu->ack_pending = true; --} -- - static void retu_bus_lock(struct irq_data *data) - { - struct retu *retu = irq_data_get_irq_chip_data(data); -@@ -257,11 +246,6 @@ static void retu_bus_sync_unlock(struct - retu->mask_pending = false; - } - -- if (retu->ack_pending) { -- __retu_write_reg(retu, RETU_REG_IDR, retu->ack); -- retu->ack_pending = false; -- } -- - mutex_unlock(&retu->mutex); - } - -@@ -271,7 +255,6 @@ static struct irq_chip retu_irq_chip = { - .irq_bus_sync_unlock = retu_bus_sync_unlock, - .irq_mask = retu_irq_mask, - .irq_unmask = retu_irq_unmask, -- .irq_ack = retu_irq_ack, - }; - - static inline void retu_irq_setup(int irq) -@@ -291,8 +274,7 @@ static void retu_irq_init(struct retu *r - - for (irq = base; irq < end; irq++) { - irq_set_chip_data(irq, retu); -- irq_set_chip_and_handler(irq, &retu_irq_chip, -- handle_simple_irq); -+ irq_set_chip(irq, &retu_irq_chip); - irq_set_nested_thread(irq, 1); - retu_irq_setup(irq); - } ---- a/drivers/cbus/tahvo.c -+++ b/drivers/cbus/tahvo.c -@@ -48,11 +48,9 @@ struct tahvo { - int irq_end; - int irq; - -- int ack; - int mask; - - unsigned int mask_pending:1; -- unsigned int ack_pending:1; - unsigned int is_betty:1; - }; - -@@ -138,9 +136,12 @@ static irqreturn_t tahvo_irq_handler(int - u16 id; - u16 im; - -+ mutex_lock(&tahvo->mutex); - id = __tahvo_read_reg(tahvo, TAHVO_REG_IDR); - im = __tahvo_read_reg(tahvo, TAHVO_REG_IMR); - id &= ~im; -+ __tahvo_write_reg(tahvo, TAHVO_REG_IDR, id); -+ mutex_unlock(&tahvo->mutex); - - if (!id) { - dev_vdbg(tahvo->dev, "No IRQ, spurious ?\n"); -@@ -177,11 +178,6 @@ static void tahvo_irq_bus_sync_unlock(st - tahvo->mask_pending = false; - } - -- if (tahvo->ack_pending) { -- __tahvo_write_reg(tahvo, TAHVO_REG_IDR, tahvo->ack); -- tahvo->ack_pending = false; -- } -- - mutex_unlock(&tahvo->mutex); - } - -@@ -203,22 +199,12 @@ static void tahvo_irq_unmask(struct irq_ - tahvo->mask_pending = true; - } - --static void tahvo_irq_ack(struct irq_data *data) --{ -- struct tahvo *tahvo = irq_data_get_irq_chip_data(data); -- int irq = data->irq; -- -- tahvo->ack |= (1 << (irq - tahvo->irq_base)); -- tahvo->ack_pending = true; --} -- - static struct irq_chip tahvo_irq_chip = { - .name = "tahvo", - .irq_bus_lock = tahvo_irq_bus_lock, - .irq_bus_sync_unlock = tahvo_irq_bus_sync_unlock, - .irq_mask = tahvo_irq_mask, - .irq_unmask = tahvo_irq_unmask, -- .irq_ack = tahvo_irq_ack, - }; - - static inline void tahvo_irq_setup(int irq) -@@ -238,8 +224,7 @@ static void tahvo_irq_init(struct tahvo - - for (irq = base; irq < end; irq++) { - irq_set_chip_data(irq, tahvo); -- irq_set_chip_and_handler(irq, &tahvo_irq_chip, -- handle_simple_irq); -+ irq_set_chip(irq, &tahvo_irq_chip); - irq_set_nested_thread(irq, 1); - tahvo_irq_setup(irq); - } |