ieee1394: add preprocessor constant for invalid csr address
Replace occurrences of the magic value ~(u64)0 for invalid CSR address spaces by a named constant for better readability. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Ben Collins <bcollins@ubuntu.com>
This commit is contained in:
@@ -779,7 +779,7 @@ static int csr1212_append_new_cache(struct csr1212_csr *csr, size_t romsize)
|
|||||||
romsize = (romsize + (csr->max_rom - 1)) & ~(csr->max_rom - 1);
|
romsize = (romsize + (csr->max_rom - 1)) & ~(csr->max_rom - 1);
|
||||||
|
|
||||||
csr_addr = csr->ops->allocate_addr_range(romsize, csr->max_rom, csr->private);
|
csr_addr = csr->ops->allocate_addr_range(romsize, csr->max_rom, csr->private);
|
||||||
if (csr_addr == ~0ULL) {
|
if (csr_addr == CSR1212_INVALID_ADDR_SPACE) {
|
||||||
return CSR1212_ENOMEM;
|
return CSR1212_ENOMEM;
|
||||||
}
|
}
|
||||||
if (csr_addr < CSR1212_REGISTER_SPACE_BASE) {
|
if (csr_addr < CSR1212_REGISTER_SPACE_BASE) {
|
||||||
|
@@ -192,6 +192,7 @@
|
|||||||
|
|
||||||
#define CSR1212_EXTENDED_ROM_SIZE (0x10000 * sizeof(u_int32_t))
|
#define CSR1212_EXTENDED_ROM_SIZE (0x10000 * sizeof(u_int32_t))
|
||||||
|
|
||||||
|
#define CSR1212_INVALID_ADDR_SPACE -1
|
||||||
|
|
||||||
/* Config ROM image structures */
|
/* Config ROM image structures */
|
||||||
struct csr1212_bus_info_block_img {
|
struct csr1212_bus_info_block_img {
|
||||||
|
@@ -367,7 +367,7 @@ static int eth1394_probe(struct device *dev)
|
|||||||
spin_lock_init(&node_info->pdg.lock);
|
spin_lock_init(&node_info->pdg.lock);
|
||||||
INIT_LIST_HEAD(&node_info->pdg.list);
|
INIT_LIST_HEAD(&node_info->pdg.list);
|
||||||
node_info->pdg.sz = 0;
|
node_info->pdg.sz = 0;
|
||||||
node_info->fifo = ETHER1394_INVALID_ADDR;
|
node_info->fifo = CSR1212_INVALID_ADDR_SPACE;
|
||||||
|
|
||||||
ud->device.driver_data = node_info;
|
ud->device.driver_data = node_info;
|
||||||
new_node->ud = ud;
|
new_node->ud = ud;
|
||||||
@@ -566,13 +566,11 @@ static void ether1394_add_host (struct hpsb_host *host)
|
|||||||
if (!(host->config_roms & HPSB_CONFIG_ROM_ENTRY_IP1394))
|
if (!(host->config_roms & HPSB_CONFIG_ROM_ENTRY_IP1394))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fifo_addr = hpsb_allocate_and_register_addrspace(ð1394_highlevel,
|
fifo_addr = hpsb_allocate_and_register_addrspace(
|
||||||
host,
|
ð1394_highlevel, host, &addr_ops,
|
||||||
&addr_ops,
|
ETHER1394_REGION_ADDR_LEN, ETHER1394_REGION_ADDR_LEN,
|
||||||
ETHER1394_REGION_ADDR_LEN,
|
CSR1212_INVALID_ADDR_SPACE, CSR1212_INVALID_ADDR_SPACE);
|
||||||
ETHER1394_REGION_ADDR_LEN,
|
if (fifo_addr == CSR1212_INVALID_ADDR_SPACE)
|
||||||
-1, -1);
|
|
||||||
if (fifo_addr == ~0ULL)
|
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* We should really have our own alloc_hpsbdev() function in
|
/* We should really have our own alloc_hpsbdev() function in
|
||||||
@@ -1686,7 +1684,7 @@ static int ether1394_tx (struct sk_buff *skb, struct net_device *dev)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
node_info = (struct eth1394_node_info*)node->ud->device.driver_data;
|
node_info = (struct eth1394_node_info*)node->ud->device.driver_data;
|
||||||
if (node_info->fifo == ETHER1394_INVALID_ADDR) {
|
if (node_info->fifo == CSR1212_INVALID_ADDR_SPACE) {
|
||||||
ret = -EAGAIN;
|
ret = -EAGAIN;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
@@ -32,8 +32,6 @@
|
|||||||
* S3200 (per Table 16-3 of IEEE 1394b-2002). */
|
* S3200 (per Table 16-3 of IEEE 1394b-2002). */
|
||||||
#define ETHER1394_REGION_ADDR_LEN 4096
|
#define ETHER1394_REGION_ADDR_LEN 4096
|
||||||
|
|
||||||
#define ETHER1394_INVALID_ADDR ~0ULL
|
|
||||||
|
|
||||||
/* GASP identifier numbers for IPv4 over IEEE 1394 */
|
/* GASP identifier numbers for IPv4 over IEEE 1394 */
|
||||||
#define ETHER1394_GASP_SPECIFIER_ID 0x00005E
|
#define ETHER1394_GASP_SPECIFIER_ID 0x00005E
|
||||||
#define ETHER1394_GASP_SPECIFIER_ID_HI ((ETHER1394_GASP_SPECIFIER_ID >> 8) & 0xffff)
|
#define ETHER1394_GASP_SPECIFIER_ID_HI ((ETHER1394_GASP_SPECIFIER_ID >> 8) & 0xffff)
|
||||||
|
@@ -301,7 +301,7 @@ u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
|
|||||||
{
|
{
|
||||||
struct hpsb_address_serve *as, *a1, *a2;
|
struct hpsb_address_serve *as, *a1, *a2;
|
||||||
struct list_head *entry;
|
struct list_head *entry;
|
||||||
u64 retval = ~0ULL;
|
u64 retval = CSR1212_INVALID_ADDR_SPACE;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u64 align_mask = ~(alignment - 1);
|
u64 align_mask = ~(alignment - 1);
|
||||||
|
|
||||||
@@ -314,9 +314,10 @@ u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
|
|||||||
|
|
||||||
/* default range,
|
/* default range,
|
||||||
* avoids controller's posted write area (see OHCI 1.1 clause 1.5) */
|
* avoids controller's posted write area (see OHCI 1.1 clause 1.5) */
|
||||||
if (start == ~0ULL && end == ~0ULL) {
|
if (start == CSR1212_INVALID_ADDR_SPACE &&
|
||||||
|
end == CSR1212_INVALID_ADDR_SPACE) {
|
||||||
start = host->middle_addr_space;
|
start = host->middle_addr_space;
|
||||||
end = CSR1212_ALL_SPACE_END;
|
end = CSR1212_ALL_SPACE_END;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((start|end) & ~align_mask) || (start >= end) || (end > 0x1000000000000ULL)) {
|
if (((start|end) & ~align_mask) || (start >= end) || (end > 0x1000000000000ULL)) {
|
||||||
@@ -360,7 +361,7 @@ u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
|
|||||||
|
|
||||||
write_unlock_irqrestore(&addr_space_lock, flags);
|
write_unlock_irqrestore(&addr_space_lock, flags);
|
||||||
|
|
||||||
if (retval == ~0ULL) {
|
if (retval == CSR1212_INVALID_ADDR_SPACE) {
|
||||||
kfree(as);
|
kfree(as);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -794,7 +794,7 @@ static struct scsi_id_instance_data *sbp2_alloc_device(struct unit_directory *ud
|
|||||||
scsi_id->ud = ud;
|
scsi_id->ud = ud;
|
||||||
scsi_id->speed_code = IEEE1394_SPEED_100;
|
scsi_id->speed_code = IEEE1394_SPEED_100;
|
||||||
scsi_id->max_payload_size = sbp2_speedto_max_payload[IEEE1394_SPEED_100];
|
scsi_id->max_payload_size = sbp2_speedto_max_payload[IEEE1394_SPEED_100];
|
||||||
scsi_id->status_fifo_addr = ~0ULL;
|
scsi_id->status_fifo_addr = CSR1212_INVALID_ADDR_SPACE;
|
||||||
atomic_set(&scsi_id->sbp2_login_complete, 0);
|
atomic_set(&scsi_id->sbp2_login_complete, 0);
|
||||||
INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_inuse);
|
INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_inuse);
|
||||||
INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_completed);
|
INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_completed);
|
||||||
@@ -848,7 +848,7 @@ static struct scsi_id_instance_data *sbp2_alloc_device(struct unit_directory *ud
|
|||||||
&sbp2_highlevel, ud->ne->host, &sbp2_ops,
|
&sbp2_highlevel, ud->ne->host, &sbp2_ops,
|
||||||
sizeof(struct sbp2_status_block), sizeof(quadlet_t),
|
sizeof(struct sbp2_status_block), sizeof(quadlet_t),
|
||||||
ud->ne->host->low_addr_space, CSR1212_ALL_SPACE_END);
|
ud->ne->host->low_addr_space, CSR1212_ALL_SPACE_END);
|
||||||
if (scsi_id->status_fifo_addr == ~0ULL) {
|
if (scsi_id->status_fifo_addr == CSR1212_INVALID_ADDR_SPACE) {
|
||||||
SBP2_ERR("failed to allocate status FIFO address range");
|
SBP2_ERR("failed to allocate status FIFO address range");
|
||||||
goto failed_alloc;
|
goto failed_alloc;
|
||||||
}
|
}
|
||||||
@@ -1090,9 +1090,9 @@ static void sbp2_remove_device(struct scsi_id_instance_data *scsi_id)
|
|||||||
SBP2_DMA_FREE("single query logins data");
|
SBP2_DMA_FREE("single query logins data");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scsi_id->status_fifo_addr != ~0ULL)
|
if (scsi_id->status_fifo_addr != CSR1212_INVALID_ADDR_SPACE)
|
||||||
hpsb_unregister_addrspace(&sbp2_highlevel, hi->host,
|
hpsb_unregister_addrspace(&sbp2_highlevel, hi->host,
|
||||||
scsi_id->status_fifo_addr);
|
scsi_id->status_fifo_addr);
|
||||||
|
|
||||||
scsi_id->ud->device.driver_data = NULL;
|
scsi_id->ud->device.driver_data = NULL;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user