Lines Matching defs:sio

93 	struct f7188x_sio *sio;
293 struct f7188x_sio *sio = bank->data->sio;
296 err = superio_enter(sio->addr);
299 superio_select(sio->addr, sio->device);
301 dir = superio_inb(sio->addr, f7188x_gpio_dir(bank->regbase));
303 superio_exit(sio->addr);
305 if (f7188x_gpio_dir_invert(sio->type))
318 struct f7188x_sio *sio = bank->data->sio;
321 err = superio_enter(sio->addr);
324 superio_select(sio->addr, sio->device);
326 dir = superio_inb(sio->addr, f7188x_gpio_dir(bank->regbase));
328 if (f7188x_gpio_dir_invert(sio->type))
332 superio_outb(sio->addr, f7188x_gpio_dir(bank->regbase), dir);
334 superio_exit(sio->addr);
343 struct f7188x_sio *sio = bank->data->sio;
346 err = superio_enter(sio->addr);
349 superio_select(sio->addr, sio->device);
351 dir = superio_inb(sio->addr, f7188x_gpio_dir(bank->regbase));
353 if (f7188x_gpio_data_single(sio->type) || dir)
354 data = superio_inb(sio->addr, f7188x_gpio_data_out(bank->regbase));
356 data = superio_inb(sio->addr, f7188x_gpio_data_in(bank->regbase));
358 superio_exit(sio->addr);
368 struct f7188x_sio *sio = bank->data->sio;
371 err = superio_enter(sio->addr);
374 superio_select(sio->addr, sio->device);
376 data_out = superio_inb(sio->addr, f7188x_gpio_data_out(bank->regbase));
381 superio_outb(sio->addr, f7188x_gpio_data_out(bank->regbase), data_out);
383 dir = superio_inb(sio->addr, f7188x_gpio_dir(bank->regbase));
384 if (f7188x_gpio_dir_invert(sio->type))
388 superio_outb(sio->addr, f7188x_gpio_dir(bank->regbase), dir);
390 superio_exit(sio->addr);
400 struct f7188x_sio *sio = bank->data->sio;
403 err = superio_enter(sio->addr);
407 superio_select(sio->addr, sio->device);
409 data_out = superio_inb(sio->addr, f7188x_gpio_data_out(bank->regbase));
414 superio_outb(sio->addr, f7188x_gpio_data_out(bank->regbase), data_out);
416 superio_exit(sio->addr);
427 struct f7188x_sio *sio = bank->data->sio;
434 err = superio_enter(sio->addr);
437 superio_select(sio->addr, sio->device);
439 data = superio_inb(sio->addr, f7188x_gpio_out_mode(bank->regbase));
444 superio_outb(sio->addr, f7188x_gpio_out_mode(bank->regbase), data);
446 superio_exit(sio->addr);
458 struct f7188x_sio *sio = dev_get_platdata(&pdev->dev);
465 switch (sio->type) {
505 data->sio = sio;
528 static int __init f7188x_find(int addr, struct f7188x_sio *sio)
540 sio->device = SIO_LD_GPIO_FINTEK;
544 sio->type = f71869;
547 sio->type = f71869a;
550 sio->type = f71882fg;
553 sio->type = f71889a;
556 sio->type = f71889f;
559 sio->type = f81866;
562 sio->type = f81804;
565 sio->type = f81865;
568 sio->device = SIO_LD_GPIO_NUVOTON;
569 sio->type = nct6126d;
577 if (sio->type != nct6126d) {
585 sio->addr = addr;
588 pr_info("Found %s at %#x\n", f7188x_names[sio->type], (unsigned int)addr);
589 if (sio->type != nct6126d)
600 f7188x_gpio_device_add(const struct f7188x_sio *sio)
609 sio, sizeof(*sio));
645 struct f7188x_sio sio;
647 if (f7188x_find(0x2e, &sio) &&
648 f7188x_find(0x4e, &sio))
653 err = f7188x_gpio_device_add(&sio);