Commit 4a2a4df7 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] rpc: update defconfig
  [ARM] pata_icside: fix the FIXMEs
  [ARM] 4542/1: AT91: include atmel_lcdc.h in at91sam926{1,3}_devices.c
  [ARM] 4541/1: iop: defconfig updates
  [ARM] 4531/1: remove is_in_rom() protptype
parents f27eb3af 6e7d9340
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <video/atmel_lcdc.h>
#include <asm/arch/board.h> #include <asm/arch/board.h>
#include <asm/arch/gpio.h> #include <asm/arch/gpio.h>
#include <asm/arch/at91sam9261.h> #include <asm/arch/at91sam9261.h>
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <video/atmel_lcdc.h>
#include <asm/arch/board.h> #include <asm/arch/board.h>
#include <asm/arch/gpio.h> #include <asm/arch/gpio.h>
#include <asm/arch/at91sam9263.h> #include <asm/arch/at91sam9263.h>
......
...@@ -330,17 +330,12 @@ static void ata_dummy_noret(struct ata_port *port) ...@@ -330,17 +330,12 @@ static void ata_dummy_noret(struct ata_port *port)
{ {
} }
/* static void pata_icside_postreset(struct ata_port *ap, unsigned int *classes)
* We need to shut down unused ports to prevent spurious interrupts.
* FIXME: the libata core doesn't call this function for PATA interfaces.
*/
static void pata_icside_port_disable(struct ata_port *ap)
{ {
struct pata_icside_state *state = ap->host->private_data; struct pata_icside_state *state = ap->host->private_data;
ata_port_printk(ap, KERN_ERR, "disabling icside port\n"); if (classes[0] != ATA_DEV_NONE || classes[1] != ATA_DEV_NONE)
return ata_std_postreset(ap, classes);
ata_port_disable(ap);
state->port[ap->port_no].disabled = 1; state->port[ap->port_no].disabled = 1;
...@@ -356,6 +351,12 @@ static void pata_icside_port_disable(struct ata_port *ap) ...@@ -356,6 +351,12 @@ static void pata_icside_port_disable(struct ata_port *ap)
} }
} }
static void pata_icside_error_handler(struct ata_port *ap)
{
ata_bmdma_drive_eh(ap, ata_std_prereset, ata_std_softreset, NULL,
pata_icside_postreset);
}
static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq) static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq)
{ {
unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY; unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY;
...@@ -374,7 +375,7 @@ static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq) ...@@ -374,7 +375,7 @@ static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq)
} }
static struct ata_port_operations pata_icside_port_ops = { static struct ata_port_operations pata_icside_port_ops = {
.port_disable = pata_icside_port_disable, .port_disable = ata_port_disable,
.set_dmamode = pata_icside_set_dmamode, .set_dmamode = pata_icside_set_dmamode,
...@@ -397,7 +398,7 @@ static struct ata_port_operations pata_icside_port_ops = { ...@@ -397,7 +398,7 @@ static struct ata_port_operations pata_icside_port_ops = {
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = pata_icside_error_handler,
.post_internal_cmd = pata_icside_bmdma_stop, .post_internal_cmd = pata_icside_bmdma_stop,
.irq_clear = ata_dummy_noret, .irq_clear = ata_dummy_noret,
...@@ -484,13 +485,6 @@ static int __devinit pata_icside_register_v6(struct pata_icside_info *info) ...@@ -484,13 +485,6 @@ static int __devinit pata_icside_register_v6(struct pata_icside_info *info)
state->port[0].port_sel = sel; state->port[0].port_sel = sel;
state->port[1].port_sel = sel | 1; state->port[1].port_sel = sel | 1;
/*
* FIXME: work around libata's aversion to calling port_disable.
* This permanently disables interrupts on port 0 - bad luck if
* you have a drive on that port.
*/
state->port[0].disabled = 1;
info->base = easi_base; info->base = easi_base;
info->irqops = &pata_icside_ops_arcin_v6; info->irqops = &pata_icside_ops_arcin_v6;
info->nr_ports = 2; info->nr_ports = 2;
......
...@@ -74,7 +74,6 @@ static inline int pte_file(pte_t pte) { return 0; } ...@@ -74,7 +74,6 @@ static inline int pte_file(pte_t pte) { return 0; }
* These would be in other places but having them here reduces the diffs. * These would be in other places but having them here reduces the diffs.
*/ */
extern unsigned int kobjsize(const void *objp); extern unsigned int kobjsize(const void *objp);
extern int is_in_rom(unsigned long);
/* /*
* No page table caches to initialise. * No page table caches to initialise.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment