117 nulldev, /* devo_probe */
118 tzmon_attach, /* devo_attach */
119 tzmon_detach, /* devo_detach */
120 nodev, /* devo_reset */
121 &tzmon_cb_ops, /* devo_cb_ops */
122 (struct bus_ops *)0, /* devo_bus_ops */
123 NULL, /* devo_power */
124 ddi_quiesce_not_needed, /* devo_quiesce */
125 };
126
127 extern struct mod_ops mod_driverops;
128
129 static struct modldrv modldrv = {
130 &mod_driverops,
131 "ACPI Thermal Zone Monitor",
132 &tzmon_ops,
133 };
134
135 static struct modlinkage modlinkage = {
136 MODREV_1, /* MODREV_1 indicated by manual */
137 (void *)&modldrv,
138 NULL, /* termination of list of linkage structures */
139 };
140
141 /* globals for this module */
142 static dev_info_t *tzmon_dip;
143 static thermal_zone_t *zone_list;
144 static int zone_count;
145 static kmutex_t zone_list_lock;
146 static kcondvar_t zone_list_condvar;
147
148
149 /*
150 * _init, _info, and _fini support loading and unloading the driver.
151 */
152 int
153 _init(void)
154 {
155 return (mod_install(&modlinkage));
156 }
157
158
|
117 nulldev, /* devo_probe */
118 tzmon_attach, /* devo_attach */
119 tzmon_detach, /* devo_detach */
120 nodev, /* devo_reset */
121 &tzmon_cb_ops, /* devo_cb_ops */
122 (struct bus_ops *)0, /* devo_bus_ops */
123 NULL, /* devo_power */
124 ddi_quiesce_not_needed, /* devo_quiesce */
125 };
126
127 extern struct mod_ops mod_driverops;
128
129 static struct modldrv modldrv = {
130 &mod_driverops,
131 "ACPI Thermal Zone Monitor",
132 &tzmon_ops,
133 };
134
135 static struct modlinkage modlinkage = {
136 MODREV_1, /* MODREV_1 indicated by manual */
137 { (void *)&modldrv, NULL }
138 };
139
140 /* globals for this module */
141 static dev_info_t *tzmon_dip;
142 static thermal_zone_t *zone_list;
143 static int zone_count;
144 static kmutex_t zone_list_lock;
145 static kcondvar_t zone_list_condvar;
146
147
148 /*
149 * _init, _info, and _fini support loading and unloading the driver.
150 */
151 int
152 _init(void)
153 {
154 return (mod_install(&modlinkage));
155 }
156
157
|