Loading arch/arm/plat-s3c24xx/adc.c +17 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,23 @@ EXPORT_SYMBOL_GPL(s3c_adc_register); void s3c_adc_release(struct s3c_adc_client *client) { /* We should really check that nothing is in progress. */ if (adc_dev->cur == client) adc_dev->cur = NULL; if (adc_dev->ts_pend == client) adc_dev->ts_pend = NULL; else { struct list_head *p, *n; struct s3c_adc_client *tmp; list_for_each_safe(p, n, &adc_pending) { tmp = list_entry(p, struct s3c_adc_client, pend); if (tmp == client) list_del(&tmp->pend); } } if (adc_dev->cur == NULL) s3c_adc_try(adc_dev); kfree(client); } EXPORT_SYMBOL_GPL(s3c_adc_release); Loading Loading
arch/arm/plat-s3c24xx/adc.c +17 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,23 @@ EXPORT_SYMBOL_GPL(s3c_adc_register); void s3c_adc_release(struct s3c_adc_client *client) { /* We should really check that nothing is in progress. */ if (adc_dev->cur == client) adc_dev->cur = NULL; if (adc_dev->ts_pend == client) adc_dev->ts_pend = NULL; else { struct list_head *p, *n; struct s3c_adc_client *tmp; list_for_each_safe(p, n, &adc_pending) { tmp = list_entry(p, struct s3c_adc_client, pend); if (tmp == client) list_del(&tmp->pend); } } if (adc_dev->cur == NULL) s3c_adc_try(adc_dev); kfree(client); } EXPORT_SYMBOL_GPL(s3c_adc_release); Loading