Lines Matching refs:stat

152 		if (skt->stat[i].irq)
153 free_irq(skt->stat[i].irq, skt);
163 __soc_pcmcia_hw_shutdown(skt, ARRAY_SIZE(skt->stat));
172 for (i = 0; i < ARRAY_SIZE(skt->stat); i++) {
173 if (!skt->stat[i].name)
176 desc = devm_gpiod_get(dev, skt->stat[i].name, GPIOD_IN);
179 skt->stat[i].name, PTR_ERR(desc));
183 skt->stat[i].desc = desc;
206 for (i = 0; i < ARRAY_SIZE(skt->stat); i++) {
207 if (gpio_is_valid(skt->stat[i].gpio)) {
215 skt->stat[i].gpio, flags,
216 skt->stat[i].name);
222 skt->stat[i].desc = gpio_to_desc(skt->stat[i].gpio);
225 if (i < SOC_STAT_VS1 && skt->stat[i].desc) {
226 int irq = gpiod_to_irq(skt->stat[i].desc);
232 skt->stat[i].irq = irq;
236 if (skt->stat[i].irq) {
237 ret = request_irq(skt->stat[i].irq,
240 skt->stat[i].name, skt);
255 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
256 if (skt->stat[i].irq) {
257 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_EDGE_RISING);
258 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_EDGE_BOTH);
266 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
267 if (skt->stat[i].irq)
268 irq_set_irq_type(skt->stat[i].irq, IRQ_TYPE_NONE);
286 unsigned int stat;
294 if (skt->stat[SOC_STAT_CD].desc)
295 state.detect = !!gpiod_get_value(skt->stat[SOC_STAT_CD].desc);
296 if (skt->stat[SOC_STAT_RDY].desc)
297 state.ready = !!gpiod_get_value(skt->stat[SOC_STAT_RDY].desc);
298 if (skt->stat[SOC_STAT_BVD1].desc)
299 state.bvd1 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD1].desc);
300 if (skt->stat[SOC_STAT_BVD2].desc)
301 state.bvd2 = !!gpiod_get_value(skt->stat[SOC_STAT_BVD2].desc);
302 if (skt->stat[SOC_STAT_VS1].desc)
303 state.vs_3v = !!gpiod_get_value(skt->stat[SOC_STAT_VS1].desc);
304 if (skt->stat[SOC_STAT_VS2].desc)
305 state.vs_Xv = !!gpiod_get_value(skt->stat[SOC_STAT_VS2].desc);
309 stat = state.detect ? SS_DETECT : 0;
310 stat |= state.ready ? SS_READY : 0;
311 stat |= state.wrprot ? SS_WRPROT : 0;
312 stat |= state.vs_3v ? SS_3VCARD : 0;
313 stat |= state.vs_Xv ? SS_XVCARD : 0;
319 stat |= skt->cs_state.Vcc ? SS_POWERON : 0;
322 stat |= state.bvd1 ? 0 : SS_STSCHG;
325 stat |= SS_BATDEAD;
327 stat |= SS_BATWARN;
329 return stat;
765 for (i = 0; i < ARRAY_SIZE(skt->stat); i++)
766 skt->stat[i].gpio = -EINVAL;