Example #1
0
static void hampshire_disconnect(struct serio *serio)
{
	struct hampshire *phampshire = serio_get_drvdata(serio);

	input_get_device(phampshire->dev);
	input_unregister_device(phampshire->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(phampshire->dev);
	kfree(phampshire);
}
Example #2
0
static void devm_input_polldev_release(struct device *dev, void *res)
{
	struct input_polled_devres *devres = res;
	struct input_polled_dev *polldev = devres->polldev;

	dev_dbg(dev, "%s: dropping reference/freeing %s\n",
		__func__, dev_name(&polldev->input->dev));

	input_put_device(polldev->input);
	kfree(polldev);
}
Example #3
0
static void touchit213_disconnect(struct serio *serio)
{
	struct touchit213 *touchit213 = serio_get_drvdata(serio);

	input_get_device(touchit213->dev);
	input_unregister_device(touchit213->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(touchit213->dev);
	kfree(touchit213);
}
Example #4
0
/*
 * fujitsu_disconnect() is the opposite of fujitsu_connect()
 */
static void fujitsu_disconnect(struct serio *serio)
{
	struct fujitsu *fujitsu = serio_get_drvdata(serio);

	input_get_device(fujitsu->dev);
	input_unregister_device(fujitsu->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(fujitsu->dev);
	kfree(fujitsu);
}
static void inexio_disconnect(struct serio *serio)
{
	struct inexio* pinexio = serio_get_drvdata(serio);

	input_get_device(pinexio->dev);
	input_unregister_device(pinexio->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(pinexio->dev);
	kfree(pinexio);
}
Example #6
0
static void elo_disconnect(struct serio *serio)
{
    struct elo *elo = serio_get_drvdata(serio);

    input_get_device(elo->dev);
    input_unregister_device(elo->dev);
    serio_close(serio);
    serio_set_drvdata(serio, NULL);
    input_put_device(elo->dev);
    kfree(elo);
}
Example #7
0
static void dynapro_disconnect(struct serio *serio)
{
	struct dynapro *pdynapro = serio_get_drvdata(serio);

	input_get_device(pdynapro->dev);
	input_unregister_device(pdynapro->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(pdynapro->dev);
	kfree(pdynapro);
}
Example #8
0
static void tw_disconnect(struct serio *serio)
{
	struct tw *tw = serio_get_drvdata(serio);

	input_get_device(tw->dev);
	input_unregister_device(tw->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(tw->dev);
	kfree(tw);
}
Example #9
0
static void gunze_disconnect(struct serio *serio)
{
	struct gunze *gunze = serio_get_drvdata(serio);

	input_get_device(gunze->dev);
	input_unregister_device(gunze->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(gunze->dev);
	kfree(gunze);
}
Example #10
0
static void mtouch_disconnect(struct serio *serio)
{
	struct mtouch* mtouch = serio_get_drvdata(serio);

	input_get_device(mtouch->dev);
	input_unregister_device(mtouch->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(mtouch->dev);
	kfree(mtouch);
}
Example #11
0
/*
 * lkkbd_disconnect() unregisters and closes behind us.
 */
static void lkkbd_disconnect(struct serio *serio)
{
	struct lkkbd *lk = serio_get_drvdata(serio);

	input_get_device(lk->dev);
	input_unregister_device(lk->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(lk->dev);
	kfree(lk);
}
static void pm_disconnect(struct serio *serio)
{
	struct pm *pm = serio_get_drvdata(serio);

	input_get_device(pm->dev);
	input_unregister_device(pm->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(pm->dev);
	kfree(pm);
}
Example #13
0
/**
 * input_free_polled_device - free memory allocated for polled device
 * @dev: device to free
 *
 * The function frees memory allocated for polling device and drops
 * reference to the associated input device.
 */
void input_free_polled_device(struct input_polled_dev *dev)
{
	if (dev) {
		if (dev->devres_managed)
			WARN_ON(devres_destroy(dev->input->dev.parent,
						devm_input_polldev_release,
						devm_input_polldev_match,
						dev));
		input_put_device(dev->input);
		kfree(dev);
	}
}
static void h3600ts_disconnect(struct serio *serio)
{
	struct h3600_dev *ts = serio_get_drvdata(serio);

	free_irq(IRQ_GPIO_BITSY_ACTION_BUTTON, &ts->dev);
	free_irq(IRQ_GPIO_BITSY_NPOWER_BUTTON, &ts->dev);
	input_get_device(ts->dev);
	input_unregister_device(ts->dev);
	serio_close(serio);
	serio_set_drvdata(serio, NULL);
	input_put_device(ts->dev);
	kfree(ts);
}