* 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 0xf8000000
-#define SBUS_OFF_MASK 0x01ffffff
-
-/* 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)<<25)+(offset));
-}
-
-static inline int sbus_dev_slot(unsigned long dev_addr)
-{
- return (int) (((dev_addr)-SUN_SBUS_BVADDR)>>25);
-}
-
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; /* Link to devices on this SBus */
struct sbus_bus *next; /* next SBus, if more than one SBus */
- int prom_node; /* PROM device tree node for this SBus */
- char prom_name[64]; /* Usually "sbus" or "sbi" */
- int clock_freq;
};
#define to_sbus(d) container_of(d, struct sbus_bus, ofdev.dev)