#ifndef _CSS_H
#define _CSS_H
-#include <linux/mutex.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
union {
__u8 fc; /* SPID function code */
struct path_state ps; /* SNID path state */
- } __attribute__ ((packed)) inf;
+ } inf;
union {
__u32 cpu_addr : 16; /* CPU address */
struct extended_cssid ext_cssid;
- } __attribute__ ((packed)) pgid_high;
+ } pgid_high;
__u32 cpu_id : 24; /* CPU identification */
__u32 cpu_model : 16; /* CPU model */
__u32 tod_high; /* high word TOD clock */
struct qdio_irq *qdio_data;
struct irb irb; /* device status */
struct senseid senseid; /* SenseID info */
- struct pgid pgid[8]; /* path group IDs per chpid*/
+ struct pgid pgid; /* path group ID */
struct ccw1 iccws[2]; /* ccws for SNID/SID/SPGID commands */
struct work_struct kick_work;
wait_queue_head_t wait_q;
extern struct css_driver io_subchannel_driver;
extern int css_probe_device(struct subchannel_id);
-extern int css_sch_device_register(struct subchannel *);
-extern void css_sch_device_unregister(struct subchannel *);
extern struct subchannel * get_subchannel_by_schid(struct subchannel_id);
extern int css_init_done;
extern int for_each_subchannel(int(*fn)(struct subchannel_id, void *), void *);
struct channel_path *chps[__MAX_CHPID + 1];
struct device device;
struct pgid global_pgid;
- struct mutex mutex;
- /* channel measurement related */
- int cm_enabled;
- void *cub_addr1;
- void *cub_addr2;
};
#define to_css(dev) container_of(dev, struct channel_subsystem, device)