diff options
Diffstat (limited to 'drivers/video/omap2/displays/panel-taal.c')
| -rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c index b2dd88b48420..2ce9992f403b 100644 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c | |||
| @@ -30,7 +30,6 @@ | |||
| 30 | #include <linux/gpio.h> | 30 | #include <linux/gpio.h> |
| 31 | #include <linux/workqueue.h> | 31 | #include <linux/workqueue.h> |
| 32 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
| 33 | #include <linux/regulator/consumer.h> | ||
| 34 | #include <linux/mutex.h> | 33 | #include <linux/mutex.h> |
| 35 | 34 | ||
| 36 | #include <video/omapdss.h> | 35 | #include <video/omapdss.h> |
| @@ -55,73 +54,6 @@ static int _taal_enable_te(struct omap_dss_device *dssdev, bool enable); | |||
| 55 | 54 | ||
| 56 | static int taal_panel_reset(struct omap_dss_device *dssdev); | 55 | static int taal_panel_reset(struct omap_dss_device *dssdev); |
| 57 | 56 | ||
| 58 | struct panel_regulator { | ||
| 59 | struct regulator *regulator; | ||
| 60 | const char *name; | ||
| 61 | int min_uV; | ||
| 62 | int max_uV; | ||
| 63 | }; | ||
| 64 | |||
| 65 | static void free_regulators(struct panel_regulator *regulators, int n) | ||
| 66 | { | ||
| 67 | int i; | ||
| 68 | |||
| 69 | for (i = 0; i < n; i++) { | ||
| 70 | /* disable/put in reverse order */ | ||
| 71 | regulator_disable(regulators[n - i - 1].regulator); | ||
| 72 | regulator_put(regulators[n - i - 1].regulator); | ||
| 73 | } | ||
| 74 | } | ||
| 75 | |||
| 76 | static int init_regulators(struct omap_dss_device *dssdev, | ||
| 77 | struct panel_regulator *regulators, int n) | ||
| 78 | { | ||
| 79 | int r, i, v; | ||
| 80 | |||
| 81 | for (i = 0; i < n; i++) { | ||
| 82 | struct regulator *reg; | ||
| 83 | |||
| 84 | reg = regulator_get(&dssdev->dev, regulators[i].name); | ||
| 85 | if (IS_ERR(reg)) { | ||
| 86 | dev_err(&dssdev->dev, "failed to get regulator %s\n", | ||
| 87 | regulators[i].name); | ||
| 88 | r = PTR_ERR(reg); | ||
| 89 | goto err; | ||
| 90 | } | ||
| 91 | |||
| 92 | /* FIXME: better handling of fixed vs. variable regulators */ | ||
| 93 | v = regulator_get_voltage(reg); | ||
| 94 | if (v < regulators[i].min_uV || v > regulators[i].max_uV) { | ||
| 95 | r = regulator_set_voltage(reg, regulators[i].min_uV, | ||
| 96 | regulators[i].max_uV); | ||
| 97 | if (r) { | ||
| 98 | dev_err(&dssdev->dev, | ||
| 99 | "failed to set regulator %s voltage\n", | ||
| 100 | regulators[i].name); | ||
| 101 | regulator_put(reg); | ||
| 102 | goto err; | ||
| 103 | } | ||
| 104 | } | ||
| 105 | |||
| 106 | r = regulator_enable(reg); | ||
| 107 | if (r) { | ||
| 108 | dev_err(&dssdev->dev, "failed to enable regulator %s\n", | ||
| 109 | regulators[i].name); | ||
| 110 | regulator_put(reg); | ||
| 111 | goto err; | ||
| 112 | } | ||
| 113 | |||
| 114 | regulators[i].regulator = reg; | ||
| 115 | } | ||
| 116 | |||
| 117 | return 0; | ||
| 118 | |||
| 119 | err: | ||
| 120 | free_regulators(regulators, i); | ||
| 121 | |||
| 122 | return r; | ||
| 123 | } | ||
| 124 | |||
| 125 | /** | 57 | /** |
| 126 | * struct panel_config - panel configuration | 58 | * struct panel_config - panel configuration |
| 127 | * @name: panel name | 59 | * @name: panel name |
| @@ -150,8 +82,6 @@ struct panel_config { | |||
| 150 | unsigned int low; | 82 | unsigned int low; |
| 151 | } reset_sequence; | 83 | } reset_sequence; |
| 152 | 84 | ||
| 153 | struct panel_regulator *regulators; | ||
| 154 | int num_regulators; | ||
| 155 | }; | 85 | }; |
| 156 | 86 | ||
| 157 | enum { | 87 | enum { |
| @@ -577,12 +507,6 @@ static const struct backlight_ops taal_bl_ops = { | |||
| 577 | .update_status = taal_bl_update_status, | 507 | .update_status = taal_bl_update_status, |
| 578 | }; | 508 | }; |
| 579 | 509 | ||
| 580 | static void taal_get_timings(struct omap_dss_device *dssdev, | ||
| 581 | struct omap_video_timings *timings) | ||
| 582 | { | ||
| 583 | *timings = dssdev->panel.timings; | ||
| 584 | } | ||
| 585 | |||
| 586 | static void taal_get_resolution(struct omap_dss_device *dssdev, | 510 | static void taal_get_resolution(struct omap_dss_device *dssdev, |
| 587 | u16 *xres, u16 *yres) | 511 | u16 *xres, u16 *yres) |
| 588 | { | 512 | { |
| @@ -977,11 +901,6 @@ static int taal_probe(struct omap_dss_device *dssdev) | |||
| 977 | 901 | ||
| 978 | atomic_set(&td->do_update, 0); | 902 | atomic_set(&td->do_update, 0); |
| 979 | 903 | ||
| 980 | r = init_regulators(dssdev, panel_config->regulators, | ||
| 981 | panel_config->num_regulators); | ||
| 982 | if (r) | ||
| 983 | goto err_reg; | ||
| 984 | |||
| 985 | td->workqueue = create_singlethread_workqueue("taal_esd"); | 904 | td->workqueue = create_singlethread_workqueue("taal_esd"); |
| 986 | if (td->workqueue == NULL) { | 905 | if (td->workqueue == NULL) { |
| 987 | dev_err(&dssdev->dev, "can't create ESD workqueue\n"); | 906 | dev_err(&dssdev->dev, "can't create ESD workqueue\n"); |
| @@ -1087,8 +1006,6 @@ err_bl: | |||
| 1087 | err_rst_gpio: | 1006 | err_rst_gpio: |
| 1088 | destroy_workqueue(td->workqueue); | 1007 | destroy_workqueue(td->workqueue); |
| 1089 | err_wq: | 1008 | err_wq: |
| 1090 | free_regulators(panel_config->regulators, panel_config->num_regulators); | ||
| 1091 | err_reg: | ||
| 1092 | kfree(td); | 1009 | kfree(td); |
| 1093 | err: | 1010 | err: |
| 1094 | return r; | 1011 | return r; |
| @@ -1125,9 +1042,6 @@ static void __exit taal_remove(struct omap_dss_device *dssdev) | |||
| 1125 | /* reset, to be sure that the panel is in a valid state */ | 1042 | /* reset, to be sure that the panel is in a valid state */ |
| 1126 | taal_hw_reset(dssdev); | 1043 | taal_hw_reset(dssdev); |
| 1127 | 1044 | ||
| 1128 | free_regulators(td->panel_config->regulators, | ||
| 1129 | td->panel_config->num_regulators); | ||
| 1130 | |||
| 1131 | if (gpio_is_valid(panel_data->reset_gpio)) | 1045 | if (gpio_is_valid(panel_data->reset_gpio)) |
| 1132 | gpio_free(panel_data->reset_gpio); | 1046 | gpio_free(panel_data->reset_gpio); |
| 1133 | 1047 | ||
| @@ -1909,8 +1823,6 @@ static struct omap_dss_driver taal_driver = { | |||
| 1909 | .run_test = taal_run_test, | 1823 | .run_test = taal_run_test, |
| 1910 | .memory_read = taal_memory_read, | 1824 | .memory_read = taal_memory_read, |
| 1911 | 1825 | ||
| 1912 | .get_timings = taal_get_timings, | ||
| 1913 | |||
| 1914 | .driver = { | 1826 | .driver = { |
| 1915 | .name = "taal", | 1827 | .name = "taal", |
| 1916 | .owner = THIS_MODULE, | 1828 | .owner = THIS_MODULE, |
