Lines Matching refs:cpm
36 struct cpm {
46 static struct cpm cpm;
69 value = dcr_read(cpm.dcr_host, cpm.dcr_offset[cpm_reg]);
70 dcr_write(cpm.dcr_host, cpm.dcr_offset[cpm_reg], value | mask);
103 dcr_write(cpm.dcr_host, cpm.dcr_offset[CPM_ER], er_save);
108 cpm_idle_sleep(cpm.idle_doze);
177 "cpm: failed to create idle sysfs entry\n");
192 return !!cpm.standby;
194 return !!cpm.suspend;
219 cpm_suspend_standby(cpm.standby);
222 cpm_suspend_standby(cpm.suspend);
252 if (!cpm.powersave_off) {
257 np = of_find_compatible_node(NULL, NULL, "ibm,cpm");
267 printk(KERN_ERR "cpm: could not parse dcr property for %pOF\n",
273 cpm.dcr_host = dcr_map(np, dcr_base, dcr_len);
275 if (!DCR_MAP_OK(cpm.dcr_host)) {
276 printk(KERN_ERR "cpm: failed to map dcr property for %pOF\n",
289 cpm.dcr_offset[CPM_ER] = 0;
290 cpm.dcr_offset[CPM_FR] = 1;
291 cpm.dcr_offset[CPM_SR] = 2;
293 cpm.dcr_offset[CPM_ER] = 1;
294 cpm.dcr_offset[CPM_FR] = 2;
295 cpm.dcr_offset[CPM_SR] = 0;
300 cpm.unused = cpm_get_uint_property(np, "unused-units");
301 cpm.idle_doze = cpm_get_uint_property(np, "idle-doze");
302 cpm.standby = cpm_get_uint_property(np, "standby");
303 cpm.suspend = cpm_get_uint_property(np, "suspend");
307 if (cpm.unused) {
308 cpm_set(CPM_ER, cpm.unused);
309 cpm_set(CPM_FR, cpm.unused);
314 if (!cpm.powersave_off && cpm.idle_doze)
317 if (cpm.standby || cpm.suspend)
329 cpm.powersave_off = 1;