Lines Matching refs:lh
431 struct linehandle_state *lh = filep->private_data; in linehandle_ioctl() local
441 lh->numdescs, in linehandle_ioctl()
442 lh->descs, in linehandle_ioctl()
449 for (i = 0; i < lh->numdescs; i++) in linehandle_ioctl()
461 if (!test_bit(FLAG_IS_OUT, &lh->descs[0]->flags)) in linehandle_ioctl()
468 for (i = 0; i < lh->numdescs; i++) in linehandle_ioctl()
474 lh->numdescs, in linehandle_ioctl()
475 lh->descs, in linehandle_ioctl()
492 struct linehandle_state *lh = filep->private_data; in linehandle_release() local
493 struct gpio_device *gdev = lh->gdev; in linehandle_release()
496 for (i = 0; i < lh->numdescs; i++) in linehandle_release()
497 gpiod_free(lh->descs[i]); in linehandle_release()
498 kfree(lh->label); in linehandle_release()
499 kfree(lh); in linehandle_release()
517 struct linehandle_state *lh; in linehandle_create() local
556 lh = kzalloc(sizeof(*lh), GFP_KERNEL); in linehandle_create()
557 if (!lh) in linehandle_create()
559 lh->gdev = gdev; in linehandle_create()
565 lh->label = kstrdup(handlereq.consumer_label, in linehandle_create()
567 if (!lh->label) { in linehandle_create()
584 ret = gpiod_request(desc, lh->label); in linehandle_create()
587 lh->descs[i] = desc; in linehandle_create()
621 lh->numdescs = handlereq.lines; in linehandle_create()
631 lh, in linehandle_create()
652 lh->numdescs); in linehandle_create()
660 gpiod_free(lh->descs[i]); in linehandle_create()
661 kfree(lh->label); in linehandle_create()
663 kfree(lh); in linehandle_create()