Lines Matching refs:stat

151 		if (skt->stat[i].irq)
152 free_irq(skt->stat[i].irq, skt);
162 __soc_pcmcia_hw_shutdown(skt, ARRAY_SIZE(skt->stat));
171 for (i = 0; i < ARRAY_SIZE(skt->stat); i++) {
172 if (!skt->stat[i].name)
175 desc = devm_gpiod_get(dev, skt->stat[i].name, GPIOD_IN);
178 skt->stat[i].name, PTR_ERR(desc));
182 skt->stat[i].desc = desc;
205 for (i = 0; i < ARRAY_SIZE(skt->stat); i++) {
206 if (gpio_is_valid(skt->stat[i].gpio)) {
214 skt->stat[i].gpio, flags,
215 skt->stat[i].name);
221 skt->stat[i].desc = gpio_to_desc(skt->stat[i].gpio);
224 if (i < SOC_STAT_VS1 && skt->stat[i].desc) {
225 int irq = gpiod_to_irq(skt->stat[i].desc);
231 skt->stat[i].irq = irq;
235 if (skt->stat[i].irq) {
236 ret = request_irq(skt->stat[i].irq,
239 skt->stat[i].name, skt);
254 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
255 if (skt->stat[i].irq) {
256 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_EDGE_RISING);
257 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_EDGE_BOTH);
265 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
266 if (skt->stat[i].irq)
267 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_NONE);
285 unsigned int stat;
293 if (skt->stat[SOC_STAT_CD].desc)
294 state.detect = !!gpiod_get_value(skt->stat[SOC_STAT_CD].desc);
295 if (skt->stat[SOC_STAT_RDY].desc)
296 state.ready = !!gpiod_get_value(skt->stat[SOC_STAT_RDY].desc);
297 if (skt->stat[SOC_STAT_BVD1].desc)
298 state.bvd1 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD1].desc);
299 if (skt->stat[SOC_STAT_BVD2].desc)
300 state.bvd2 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD2].desc);
301 if (skt->stat[SOC_STAT_VS1].desc)
302 state.vs_3v = !!gpiod_get_value(skt->stat[SOC_STAT_VS1].desc);
303 if (skt->stat[SOC_STAT_VS2].desc)
304 state.vs_Xv = !!gpiod_get_value(skt->stat[SOC_STAT_VS2].desc);
308 stat = state.detect ? SS_DETECT : 0;
309 stat |= state.ready ? SS_READY : 0;
310 stat |= state.wrprot ? SS_WRPROT : 0;
311 stat |= state.vs_3v ? SS_3VCARD : 0;
312 stat |= state.vs_Xv ? SS_XVCARD : 0;
318 stat |= skt->cs_state.Vcc ? SS_POWERON : 0;
321 stat |= state.bvd1 ? 0 : SS_STSCHG;
324 stat |= SS_BATDEAD;
326 stat |= SS_BATWARN;
328 return stat;
764 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
765 skt->stat[i].gpio = -EINVAL;