[patch 3/4] ps3rom: updates after final review
From: Geert Uytterhoeven
Date: Thu Jul 19 2007 - 10:09:56 EST
ps3rom: updates after final review:
o Kill confusing ps3rom_priv() macro, open code it instead
o kmap_atomic() cannot fail
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@xxxxxxxxxxx>
---
drivers/scsi/ps3rom.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
--- a/drivers/scsi/ps3rom.c
+++ b/drivers/scsi/ps3rom.c
@@ -42,7 +42,6 @@ struct ps3rom_private {
struct ps3_storage_device *dev;
struct scsi_cmnd *curr_cmd;
};
-#define ps3rom_priv(dev) ((dev)->sbd.core.driver_data)
#define LV1_STORAGE_SEND_ATAPI_COMMAND (1)
@@ -113,8 +112,6 @@ static int fill_from_dev_buffer(struct s
for (k = 0, req_len = 0, act_len = 0; k < cmd->use_sg; ++k, ++sgpnt) {
if (active) {
kaddr = kmap_atomic(sgpnt->page, KM_IRQ0);
- if (!kaddr)
- return -1;
len = sgpnt->length;
if ((req_len + len) > buflen) {
active = 0;
@@ -151,8 +148,6 @@ static int fetch_to_dev_buffer(struct sc
sgpnt = cmd->request_buffer;
for (k = 0, req_len = 0, fin = 0; k < cmd->use_sg; ++k, ++sgpnt) {
kaddr = kmap_atomic(sgpnt->page, KM_IRQ0);
- if (!kaddr)
- return -1;
len = sgpnt->length;
if ((req_len + len) > buflen) {
len = buflen - req_len;
@@ -379,7 +374,7 @@ static irqreturn_t ps3rom_interrupt(int
return IRQ_HANDLED;
}
- host = ps3rom_priv(dev);
+ host = dev->sbd.core.driver_data;
priv = shost_priv(host);
cmd = priv->curr_cmd;
@@ -469,7 +464,7 @@ static int __devinit ps3rom_probe(struct
}
priv = shost_priv(host);
- ps3rom_priv(dev) = host;
+ dev->sbd.core.driver_data = host;
priv->dev = dev;
/* One device/LUN per SCSI bus */
@@ -489,7 +484,7 @@ static int __devinit ps3rom_probe(struct
fail_host_put:
scsi_host_put(host);
- ps3rom_priv(dev) = NULL;
+ dev->sbd.core.driver_data = NULL;
fail_teardown:
ps3stor_teardown(dev);
fail_free_bounce:
@@ -500,12 +495,12 @@ fail_free_bounce:
static int ps3rom_remove(struct ps3_system_bus_device *_dev)
{
struct ps3_storage_device *dev = to_ps3_storage_device(&_dev->core);
- struct Scsi_Host *host = ps3rom_priv(dev);
+ struct Scsi_Host *host = dev->sbd.core.driver_data;
scsi_remove_host(host);
ps3stor_teardown(dev);
scsi_host_put(host);
- ps3rom_priv(dev) = NULL;
+ dev->sbd.core.driver_data = NULL;
kfree(dev->bounce_buf);
return 0;
}
With kind regards,
Geert Uytterhoeven
Software Architect
Sony Network and Software Technology Center Europe
The Corporate Village  Da Vincilaan 7-D1  B-1935 Zaventem  Belgium
Phone: +32 (0)2 700 8453
Fax: +32 (0)2 700 8622
E-mail: Geert.Uytterhoeven@xxxxxxxxxxx
Internet: http://www.sony-europe.com/
Sony Network and Software Technology Center Europe
A division of Sony Service Centre (Europe) N.V.
Registered office: Technologielaan 7  B-1840 Londerzeel  Belgium
VAT BE 0413.825.160 Â RPR Brussels
Fortis Bank Zaventem  Swift GEBABEBB08A  IBAN BE39001382358619