Add OF_getscsinitid(), a helper similar to OF_getetheraddr() but for
obtaining the initiator ID to be used for SPI controllers from the Open Firmware device tree.
This commit is contained in:
parent
4604894eaf
commit
8fbd99ea26
@ -36,6 +36,7 @@ typedef uint64_t cell_t;
|
||||
|
||||
int OF_decode_addr(phandle_t, int, int *, bus_addr_t *);
|
||||
void OF_getetheraddr(device_t, u_char *);
|
||||
u_int OF_getscsinitid(device_t);
|
||||
void cpu_shutdown(void *);
|
||||
int ofw_entry(void *);
|
||||
void ofw_exit(void *);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*-
|
||||
* Copyright (c) 2001 by Thomas Moestl <tmm@FreeBSD.org>.
|
||||
* Copyright (c) 2005 - 2009 by Marius Strobl <marius@FreeBSD.org>.
|
||||
* Copyright (c) 2005 - 2010 by Marius Strobl <marius@FreeBSD.org>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -68,6 +68,19 @@ OF_getetheraddr(device_t dev, u_char *addr)
|
||||
bcopy(&idp.id_ether, addr, ETHER_ADDR_LEN);
|
||||
}
|
||||
|
||||
u_int
|
||||
OF_getscsinitid(device_t dev)
|
||||
{
|
||||
phandle_t node;
|
||||
uint32_t id;
|
||||
|
||||
for (node = ofw_bus_get_node(dev); node != 0; node = OF_parent(node))
|
||||
if (OF_getprop(node, "scsi-initiator-id", &id,
|
||||
sizeof(id)) > 0)
|
||||
return (id);
|
||||
return (7);
|
||||
}
|
||||
|
||||
static __inline uint32_t
|
||||
phys_hi_mask_space(const char *bus, uint32_t phys_hi)
|
||||
{
|
||||
|
@ -36,6 +36,7 @@ typedef uint64_t cell_t;
|
||||
|
||||
int OF_decode_addr(phandle_t, int, int *, bus_addr_t *);
|
||||
void OF_getetheraddr(device_t, u_char *);
|
||||
u_int OF_getscsinitid(device_t);
|
||||
void cpu_shutdown(void *);
|
||||
int ofw_entry(void *);
|
||||
void ofw_exit(void *);
|
||||
|
Loading…
Reference in New Issue
Block a user