diff options
Diffstat (limited to 'drivers/pcmcia/at91_cf.c')
-rw-r--r-- | drivers/pcmcia/at91_cf.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c index fb33fa42d249..4902206f53d9 100644 --- a/drivers/pcmcia/at91_cf.c +++ b/drivers/pcmcia/at91_cf.c | |||
@@ -283,8 +283,7 @@ static int __init at91_cf_probe(struct platform_device *pdev) | |||
283 | } | 283 | } |
284 | 284 | ||
285 | /* reserve chip-select regions */ | 285 | /* reserve chip-select regions */ |
286 | if (!request_mem_region(io->start, io->end + 1 - io->start, | 286 | if (!request_mem_region(io->start, resource_size(io), driver_name)) { |
287 | driver_name)) { | ||
288 | status = -ENXIO; | 287 | status = -ENXIO; |
289 | goto fail1; | 288 | goto fail1; |
290 | } | 289 | } |
@@ -308,7 +307,7 @@ static int __init at91_cf_probe(struct platform_device *pdev) | |||
308 | return 0; | 307 | return 0; |
309 | 308 | ||
310 | fail2: | 309 | fail2: |
311 | release_mem_region(io->start, io->end + 1 - io->start); | 310 | release_mem_region(io->start, resource_size(io)); |
312 | fail1: | 311 | fail1: |
313 | if (cf->socket.io_offset) | 312 | if (cf->socket.io_offset) |
314 | iounmap((void __iomem *) cf->socket.io_offset); | 313 | iounmap((void __iomem *) cf->socket.io_offset); |
@@ -339,7 +338,7 @@ static int __exit at91_cf_remove(struct platform_device *pdev) | |||
339 | struct resource *io = cf->socket.io[0].res; | 338 | struct resource *io = cf->socket.io[0].res; |
340 | 339 | ||
341 | pcmcia_unregister_socket(&cf->socket); | 340 | pcmcia_unregister_socket(&cf->socket); |
342 | release_mem_region(io->start, io->end + 1 - io->start); | 341 | release_mem_region(io->start, resource_size(io)); |
343 | iounmap((void __iomem *) cf->socket.io_offset); | 342 | iounmap((void __iomem *) cf->socket.io_offset); |
344 | if (board->irq_pin) { | 343 | if (board->irq_pin) { |
345 | free_irq(board->irq_pin, cf); | 344 | free_irq(board->irq_pin, cf); |