Lines Matching refs:lmsc
2172 lm_generic_banksel(struct lm_softc *lmsc, uint8_t bank) in lm_generic_banksel() argument
2174 (*lmsc->lm_writereg)(lmsc, WB_BANKSEL, bank); in lm_generic_banksel()
2184 lm_match(struct lm_softc *lmsc) in lm_match() argument
2192 cr = (*lmsc->lm_readreg)(lmsc, LMD_CONFIG); in lm_match()
2201 if ((rv = lm_chips[i].chip_match(lmsc)) != 0) in lm_match()
2228 lm_attach(struct lm_softc *lmsc) in lm_attach() argument
2234 if (lm_chips[i].chip_match(lmsc) != 0) { in lm_attach()
2235 if (lm_chips[i].chip_attach(lmsc) == 0) in lm_attach()
2243 (*lmsc->lm_writereg)(lmsc, LMD_CONFIG, 0x01); in lm_attach()
2245 lmsc->sc_sme = sysmon_envsys_create(); in lm_attach()
2247 for (i = 0; i < lmsc->numsensors; i++) { in lm_attach()
2248 lmsc->sensors[i].state = ENVSYS_SINVALID; in lm_attach()
2249 if ((rv = sysmon_envsys_sensor_attach(lmsc->sc_sme, in lm_attach()
2250 &lmsc->sensors[i])) != 0) { in lm_attach()
2251 sysmon_envsys_destroy(lmsc->sc_sme); in lm_attach()
2252 lmsc->sc_sme = NULL; in lm_attach()
2253 aprint_error_dev(lmsc->sc_dev, in lm_attach()
2262 callout_init(&lmsc->sc_callout, 0); in lm_attach()
2263 callout_setfunc(&lmsc->sc_callout, lm_refresh, lmsc); in lm_attach()
2264 callout_schedule(&lmsc->sc_callout, LM_REFRESH_TIMO); in lm_attach()
2269 lmsc->sc_sme->sme_name = device_xname(lmsc->sc_dev); in lm_attach()
2270 lmsc->sc_sme->sme_flags = SME_DISABLE_REFRESH; in lm_attach()
2272 if (sysmon_envsys_register(lmsc->sc_sme)) { in lm_attach()
2273 aprint_error_dev(lmsc->sc_dev, in lm_attach()
2275 sysmon_envsys_destroy(lmsc->sc_sme); in lm_attach()
2276 lmsc->sc_sme = NULL; in lm_attach()
2278 if (!pmf_device_register(lmsc->sc_dev, NULL, NULL)) in lm_attach()
2279 aprint_error_dev(lmsc->sc_dev, in lm_attach()
2288 lm_detach(struct lm_softc *lmsc) in lm_detach() argument
2290 callout_halt(&lmsc->sc_callout, NULL); in lm_detach()
2291 callout_destroy(&lmsc->sc_callout); in lm_detach()
2293 if (lmsc->sc_sme != NULL) in lm_detach()
2294 sysmon_envsys_unregister(lmsc->sc_sme); in lm_detach()
2295 pmf_device_deregister(lmsc->sc_dev); in lm_detach()
2301 struct lm_softc *lmsc = arg; in lm_refresh() local
2303 lmsc->refresh_sensor_data(lmsc); in lm_refresh()
2304 callout_schedule(&lmsc->sc_callout, LM_REFRESH_TIMO); in lm_refresh()