diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-16 09:31:47 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-09 15:34:14 +0000 |
commit | 6ad1b614007c556129989b9f6b020d0d2e058121 (patch) | |
tree | d146b694cad7d3134b3166f56f401b203e073811 /drivers | |
parent | 710455201f6690841e9a40bedba09ddd0a7e0620 (diff) | |
download | kernel_goldelico_gta04-6ad1b614007c556129989b9f6b020d0d2e058121.zip kernel_goldelico_gta04-6ad1b614007c556129989b9f6b020d0d2e058121.tar.gz kernel_goldelico_gta04-6ad1b614007c556129989b9f6b020d0d2e058121.tar.bz2 |
ARM: sa11x0: neponset: provide function to manipulate NCR_0
Rather than having direct register accesses to NCR_0 scattered amongst
the code, provide a function instead. This contains the necessary
race protection for this platform, ensuring that updates to this
register are safe.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/smsc/smc91x.c | 2 | ||||
-rw-r--r-- | drivers/pcmcia/sa1100_neponset.c | 7 |
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/ethernet/smsc/smc91x.c b/drivers/net/ethernet/smsc/smc91x.c index 64ad3ed..0dba050 100644 --- a/drivers/net/ethernet/smsc/smc91x.c +++ b/drivers/net/ethernet/smsc/smc91x.c @@ -2281,7 +2281,7 @@ static int __devinit smc_drv_probe(struct platform_device *pdev) if (ret) goto out_release_io; #if defined(CONFIG_SA1100_ASSABET) - NCR_0 |= NCR_ENET_OSC_EN; + neponset_ncr_set(NCR_ENET_OSC_EN); #endif platform_set_drvdata(pdev, ndev); ret = smc_enable_device(pdev); diff --git a/drivers/pcmcia/sa1100_neponset.c b/drivers/pcmcia/sa1100_neponset.c index c95639b..4300a7f 100644 --- a/drivers/pcmcia/sa1100_neponset.c +++ b/drivers/pcmcia/sa1100_neponset.c @@ -94,12 +94,7 @@ neponset_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, const socket_sta ret = sa1111_pcmcia_configure_socket(skt, state); if (ret == 0) { - unsigned long flags; - - local_irq_save(flags); - NCR_0 = (NCR_0 & ~ncr_mask) | ncr_set; - - local_irq_restore(flags); + neponset_ncr_frob(ncr_mask, ncr_set); sa1111_set_io(s->dev, pa_dwr_mask, pa_dwr_set); } |