* you can get a SBus 'slot' number and an offset within that slot.
*/
-/* The base address at which to calculate device OBIO addresses. */
-#define SUN_SBUS_BVADDR 0x00000000
-#define SBUS_OFF_MASK 0x0fffffff
-
-/* These routines are used to calculate device address from slot
- * numbers + offsets, and vice versa.
- */
-
-static inline unsigned long sbus_devaddr(int slotnum, unsigned long offset)
-{
- return (unsigned long) (SUN_SBUS_BVADDR+((slotnum)<<28)+(offset));
-}
-
-static inline int sbus_dev_slot(unsigned long dev_addr)
-{
- return (int) (((dev_addr)-SUN_SBUS_BVADDR)>>28);
-}
-
struct sbus_bus;
/* Linux SBUS device tables */
struct sbus_dev *next;
struct sbus_dev *child;
struct sbus_dev *parent;
- int prom_node;
- char prom_name[64];
- int slot;
};
#define to_sbus_device(d) container_of(d, struct sbus_dev, ofdev.dev)
struct of_device ofdev;
struct sbus_dev *devices; /* Tree of SBUS devices */
struct sbus_bus *next; /* Next SBUS in system */
- int prom_node; /* OBP node of SBUS */
- char prom_name[64]; /* Usually "sbus" or "sbi" */
- int clock_freq;
- int portid;
};
#define to_sbus(d) container_of(d, struct sbus_bus, ofdev.dev)