Esempio n. 1
0
static int __devinit crd080ti01_40nm01_remove(struct platform_device *pdev)
{
	struct crd080ti01_40nm01_data *dev = dev_get_drvdata(&pdev->dev);

	lcd_device_unregister(dev->lcd);
	crd080ti01_40nm01_off(dev);

	regulator_put(dev->lcd_vcc_reg);

	if (dev->pdata->gpio_lr)
		gpio_free(dev->pdata->gpio_lr);
	if (dev->pdata->gpio_ud)
		gpio_free(dev->pdata->gpio_ud);
	if (dev->pdata->gpio_selb)
		gpio_free(dev->pdata->gpio_selb);
	if (dev->pdata->gpio_stbyb)
		gpio_free(dev->pdata->gpio_stbyb);
	if (dev->pdata->gpio_rest)
		gpio_free(dev->pdata->gpio_rest);

	dev_set_drvdata(&pdev->dev, NULL);
	kfree(dev);

	return 0;
}
Esempio n. 2
0
static int hx8357_remove(struct spi_device *spi)
{
	struct lcd_device *lcdev = spi_get_drvdata(spi);

	lcd_device_unregister(lcdev);
	return 0;
}
static void  s5p_dp_shutdown(struct platform_device *pdev)
{
	struct s5p_dp_device *dp = platform_get_drvdata(pdev);
	struct s5p_dp_platdata *pdata = dp->dev->platform_data;

#ifdef CONFIG_S5P_DP_PSR
	mutex_lock(&dp->lock);
	dp->user_disabled = true;
	fb_unregister_client(&dp->notifier);
	mutex_unlock(&dp->lock);
#endif
	lcd_device_unregister(dp->lcd);

	if (pdata->backlight_off)
		pdata->backlight_off();

	if (pdata->lcd_off)
		pdata->lcd_off();

	s5p_dp_disable(dp);

	free_irq(dp->irq, dp);
	iounmap(dp->reg_base);
	clk_put(dp->clock);

	release_mem_region(dp->res->start, resource_size(dp->res));

	pm_runtime_disable(dp->dev);

	kfree(dp);
}
Esempio n. 4
0
static int __devexit lcd_pwrctrl_remove(struct platform_device *pdev)
{
	struct lcd_pwrctrl *lp = platform_get_drvdata(pdev);
	lcd_device_unregister(lp->lcd);
	gpio_free(lp->pdata->gpio);
	return 0;
}
static int  s5p_dp_shutdown(struct platform_device *pdev)
{
	struct s5p_dp_device *dp = platform_get_drvdata(pdev);
	struct s5p_dp_platdata *pdata = dp->dev->platform_data;

	lcd_device_unregister(dp->lcd);

	if (pdata->backlight_off)
		pdata->backlight_off();

	if (pdata->lcd_off)
		pdata->lcd_off();

	s5p_dp_disable(dp);

	free_irq(dp->irq, dp);
	iounmap(dp->reg_base);
	clk_put(dp->clock);

	release_mem_region(dp->res->start, resource_size(dp->res));

	pm_runtime_disable(dp->dev);

	kfree(dp);

	return 0;
}
static int __devexit s5p_dp_remove(struct platform_device *pdev)
{
	struct s5p_dp_device *dp = platform_get_drvdata(pdev);

#ifdef CONFIG_S5P_DP_PSR
	mutex_lock(&dp->lock);
	fb_unregister_client(&dp->notifier);
	mutex_unlock(&dp->lock);
#endif

	free_irq(dp->irq, dp);

	lcd_device_unregister(dp->lcd);

	s5p_dp_disable(dp);

	iounmap(dp->reg_base);
	clk_put(dp->clock);

	release_mem_region(dp->res->start, resource_size(dp->res));

	pm_runtime_disable(dp->dev);

	kfree(dp);

	return 0;
}
static int __devinit corgi_lcd_probe(struct spi_device *spi)
{
	struct corgi_lcd_platform_data *pdata = spi->dev.platform_data;
	struct corgi_lcd *lcd;
	int ret = 0;

	if (pdata == NULL) {
		dev_err(&spi->dev, "platform data not available\n");
		return -EINVAL;
	}

	lcd = kzalloc(sizeof(struct corgi_lcd), GFP_KERNEL);
	if (!lcd) {
		dev_err(&spi->dev, "failed to allocate memory\n");
		return -ENOMEM;
	}

	lcd->spi_dev = spi;

	lcd->lcd_dev = lcd_device_register("corgi_lcd", &spi->dev,
					lcd, &corgi_lcd_ops);
	if (IS_ERR(lcd->lcd_dev)) {
		ret = PTR_ERR(lcd->lcd_dev);
		goto err_free_lcd;
	}
	lcd->power = FB_BLANK_POWERDOWN;
	lcd->mode = (pdata) ? pdata->init_mode : CORGI_LCD_MODE_VGA;

	lcd->bl_dev = backlight_device_register("corgi_bl", &spi->dev,
					lcd, &corgi_bl_ops);
	if (IS_ERR(lcd->bl_dev)) {
		ret = PTR_ERR(lcd->bl_dev);
		goto err_unregister_lcd;
	}
	lcd->bl_dev->props.max_brightness = pdata->max_intensity;
	lcd->bl_dev->props.brightness = pdata->default_intensity;
	lcd->bl_dev->props.power = FB_BLANK_UNBLANK;

	ret = setup_gpio_backlight(lcd, pdata);
	if (ret)
		goto err_unregister_bl;

	lcd->kick_battery = pdata->kick_battery;

	dev_set_drvdata(&spi->dev, lcd);
	corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_UNBLANK);
	backlight_update_status(lcd->bl_dev);

	lcd->limit_mask = pdata->limit_mask;
	the_corgi_lcd = lcd;
	return 0;

err_unregister_bl:
	backlight_device_unregister(lcd->bl_dev);
err_unregister_lcd:
	lcd_device_unregister(lcd->lcd_dev);
err_free_lcd:
	kfree(lcd);
	return ret;
}
Esempio n. 8
0
static void s5p_dp_shutdown(struct platform_device *pdev)
{
	struct s5p_dp_device *dp = platform_get_drvdata(pdev);
	struct s5p_dp_platdata *pdata = dp->dev->platform_data;

	lcd_device_unregister(dp->lcd);

	if (pdata->backlight_off)
		pdata->backlight_off();

	if (pdata->lcd_off)
		pdata->lcd_off();

	s5p_dp_disable(dp);

#if !defined(CONFIG_SOC_EXYNOS5260)
	free_irq(dp->irq, dp);
#endif
	iounmap(dp->reg_base);
	clk_put(dp->clock);

	release_mem_region(dp->res->start, resource_size(dp->res));

	pm_runtime_disable(dp->dev);

	kfree(dp);
}
Esempio n. 9
0
void picolcd_exit_lcd(struct picolcd_data *data)
{
	struct lcd_device *ldev = data->lcd;

	data->lcd = NULL;
	if (ldev)
		lcd_device_unregister(ldev);
}
Esempio n. 10
0
static int ili922x_remove(struct spi_device *spi)
{
	struct ili922x *ili = spi_get_drvdata(spi);

	ili922x_poweroff(spi);
	lcd_device_unregister(ili->ld);
	return 0;
}
Esempio n. 11
0
static int aximx5_lcd_remove(struct platform_device *dev)
{
	debug_func ("\n");

	lcd_device_unregister (mqfb_lcd_device);

	return 0;
}
Esempio n. 12
0
static int lms283gf05_remove(struct spi_device *spi)
{
	struct lms283gf05_state *st = dev_get_drvdata(&spi->dev);

	lcd_device_unregister(st->ld);

	return 0;
}
Esempio n. 13
0
static int jornada_lcd_remove(struct platform_device *pdev)
{
	struct lcd_device *lcd_device = platform_get_drvdata(pdev);

	lcd_device_unregister(lcd_device);

	return 0;
}
Esempio n. 14
0
static int roverp5p_fp_remove (struct device *dev)
{
	debug_func ("\n");

	backlight_device_unregister (mqfb_backlight_device);
	lcd_device_unregister (mqfb_lcd_device);

        return 0;
}
Esempio n. 15
0
static int __devexit platform_lcd_remove(struct platform_device *pdev)
{
	struct platform_lcd *plcd = platform_get_drvdata(pdev);

	lcd_device_unregister(plcd->lcd);
	kfree(plcd);

	return 0;
}
Esempio n. 16
0
static int h3600_lcd_remove (struct platform_device *pdev)
{
	h3600_lcd_set_power(h3600_lcd_device, 4);
	lcd_device_unregister (h3600_lcd_device);

	sa1100fb_lcd_power = NULL;

	return 0;
}
Esempio n. 17
0
int __devexit ili9320_remove(struct ili9320 *ili)
{
	ili9320_power(ili, FB_BLANK_POWERDOWN);

	lcd_device_unregister(ili->lcd);
	kfree(ili);

	return 0;
}
Esempio n. 18
0
static int __devexit s6c1372_remove(struct platform_device *pdev)
{
	struct s6c1372_lcd *lcd = dev_get_drvdata(&pdev->dev);

	lcd_device_unregister(lcd->ld);
	kfree(lcd);

	return 0;
}
Esempio n. 19
0
/*
 * ubicom32lcdpower_remove
 */
static int __exit ubicom32lcdpower_remove(struct platform_device *pdev)
{
	struct ubicom32lcdpower_data *ud = platform_get_drvdata(pdev);

	lcd_device_unregister(ud->lcddev);
	platform_set_drvdata(pdev, NULL);
	kfree(ud);

	return 0;
}
Esempio n. 20
0
static int __devexit ea8061_remove(struct device *dev)
{
	struct lcd_info *lcd = dev_get_drvdata(dev);

	ea8061_power(lcd, FB_BLANK_POWERDOWN);
	lcd_device_unregister(lcd->ld);
	backlight_device_unregister(lcd->bd);
	kfree(lcd);

	return 0;
}
Esempio n. 21
0
static int truly_tft240240_remove(struct platform_device *pdev)
{
	struct truly_tft240240_data *dev = dev_get_drvdata(&pdev->dev);

	if (dev->lcd_power)
		dev->ctrl->power_on(dev->lcd, 0);
	regulator_put(dev->lcd_vcc_reg);
	lcd_device_unregister(dev->lcd);
	dev_set_drvdata(&pdev->dev, NULL);
	kfree(dev);

	return 0;
}
Esempio n. 22
0
static int __devexit l4f00242t03_remove(struct spi_device *spi)
{
    struct l4f00242t03_priv *priv = dev_get_drvdata(&spi->dev);

    l4f00242t03_lcd_power_set(priv->ld, FB_BLANK_POWERDOWN);
    lcd_device_unregister(priv->ld);

    dev_set_drvdata(&spi->dev, NULL);

    regulator_put(priv->io_reg);
    regulator_put(priv->core_reg);

    return 0;
}
Esempio n. 23
0
static int corgi_lcd_remove(struct spi_device *spi)
{
	struct corgi_lcd *lcd = dev_get_drvdata(&spi->dev);

	lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
	lcd->bl_dev->props.brightness = 0;
	backlight_update_status(lcd->bl_dev);
	backlight_device_unregister(lcd->bl_dev);

	corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_POWERDOWN);
	lcd_device_unregister(lcd->lcd_dev);

	return 0;
}
Esempio n. 24
0
static int __devexit lms283gf05_remove(struct spi_device *spi)
{
    struct lms283gf05_state *st = dev_get_drvdata(&spi->dev);
    struct lms283gf05_pdata *pdata = st->spi->dev.platform_data;

    lcd_device_unregister(st->ld);

    if (pdata != NULL)
        gpio_free(pdata->reset_gpio);

    kfree(st);

    return 0;
}
Esempio n. 25
0
static int cr_backlight_remove(struct platform_device *pdev)
{
	struct cr_panel *crp = platform_get_drvdata(pdev);
	crp->cr_backlight_device->props.power = FB_BLANK_POWERDOWN;
	crp->cr_backlight_device->props.brightness = 0;
	crp->cr_backlight_device->props.max_brightness = 0;
	cr_backlight_set_intensity(crp->cr_backlight_device);
	cr_lcd_set_power(crp->cr_lcd_device, FB_BLANK_POWERDOWN);
	backlight_device_unregister(crp->cr_backlight_device);
	lcd_device_unregister(crp->cr_lcd_device);
	pci_dev_put(lpc_dev);

	return 0;
}
Esempio n. 26
0
static int __devexit s6e8ax0_remove(struct device *dev)
{
	struct lcd_info *lcd = dev_get_drvdata(dev);
#ifdef CONFIG_FB_S5P_PREVENTESD
	mutex_lock(&s3cfb_lock);
#endif
	s6e8ax0_power(lcd, FB_BLANK_POWERDOWN);
	lcd_device_unregister(lcd->ld);
	backlight_device_unregister(lcd->bd);
	kfree(lcd);
#ifdef CONFIG_FB_S5P_PREVENTESD
	mutex_unlock(&s3cfb_lock);
#endif

	return 0;
}
Esempio n. 27
0
static int
aximx3_lcd_init (void)
{
	if (! machine_is_aximx3 ())
		return -ENODEV;

	set_pxa_fb_info(&aximx3_fb_info);
	pxafb_lcd_device = lcd_device_register("pxafb", NULL, &aximx3_lcd_properties);
	if (IS_ERR (pxafb_lcd_device))
		return PTR_ERR (pxafb_lcd_device);
	pxafb_backlight_device = backlight_device_register("pxafb", NULL,
		&aximx3_backlight_properties);
	if (IS_ERR (pxafb_backlight_device)) {
		lcd_device_unregister (pxafb_lcd_device);
		return PTR_ERR (pxafb_backlight_device);
	}

	return 0;
}
Esempio n. 28
0
static int __devexit l4f00242t03_remove(struct spi_device *spi)
{
	struct l4f00242t03_priv *priv = dev_get_drvdata(&spi->dev);
	struct l4f00242t03_pdata *pdata = priv->spi->dev.platform_data;

	l4f00242t03_lcd_power_set(priv->ld, FB_BLANK_POWERDOWN);
	lcd_device_unregister(priv->ld);

	dev_set_drvdata(&spi->dev, NULL);

	gpio_free(pdata->data_enable_gpio);
	gpio_free(pdata->reset_gpio);

	regulator_put(priv->io_reg);
	regulator_put(priv->core_reg);

	kfree(priv);

	return 0;
}
Esempio n. 29
0
static int __devexit corgi_lcd_remove(struct spi_device *spi)
{
	struct corgi_lcd *lcd = dev_get_drvdata(&spi->dev);

	lcd->bl_dev->props.power = FB_BLANK_UNBLANK;
	lcd->bl_dev->props.brightness = 0;
	backlight_update_status(lcd->bl_dev);
	backlight_device_unregister(lcd->bl_dev);

	if (gpio_is_valid(lcd->gpio_backlight_on))
		gpio_free(lcd->gpio_backlight_on);

	if (gpio_is_valid(lcd->gpio_backlight_cont))
		gpio_free(lcd->gpio_backlight_cont);

	corgi_lcd_set_power(lcd->lcd_dev, FB_BLANK_POWERDOWN);
	lcd_device_unregister(lcd->lcd_dev);
	kfree(lcd);

	return 0;
}
static int __devexit s5p_dp_remove(struct platform_device *pdev)
{
	struct s5p_dp_device *dp = platform_get_drvdata(pdev);

	free_irq(dp->irq, dp);

	lcd_device_unregister(dp->lcd);

	s5p_dp_disable(dp);

	iounmap(dp->reg_base);
	clk_put(dp->clock);

	release_mem_region(dp->res->start, resource_size(dp->res));

	pm_runtime_disable(dp->dev);

	kfree(dp);

	return 0;
}