diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2012-02-20 13:37:05 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-24 15:11:13 -0500 |
commit | 01788c533acbd63702146a2be975ae4007cfb2cf (patch) | |
tree | 06af3b838bb42e46ad124c1841398c5113f455ae /drivers/staging/iio | |
parent | 4eeb3335bbfb4e9d6a7995f283deeecb06e07aea (diff) |
staging:iio: Use dev_pm_ops
Use dev_pm_ops instead of legacy suspend/resume callbacks for IIO drivers.
Note that this patch introduces a few new #ifdef CONFIG_PM_SLEEP around the
suspend and resume callbacks to avoid warnings of unused functions if
CONFIG_PM_SLEEP is not defined.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/iio')
-rw-r--r-- | drivers/staging/iio/addac/adt7316-i2c.c | 18 | ||||
-rw-r--r-- | drivers/staging/iio/addac/adt7316-spi.c | 18 | ||||
-rw-r--r-- | drivers/staging/iio/addac/adt7316.c | 11 | ||||
-rw-r--r-- | drivers/staging/iio/addac/adt7316.h | 9 | ||||
-rw-r--r-- | drivers/staging/iio/dac/max517.c | 18 | ||||
-rw-r--r-- | drivers/staging/iio/light/tsl2563.c | 26 | ||||
-rw-r--r-- | drivers/staging/iio/light/tsl2583.c | 17 | ||||
-rw-r--r-- | drivers/staging/iio/magnetometer/hmc5843.c | 20 |
8 files changed, 66 insertions, 71 deletions
diff --git a/drivers/staging/iio/addac/adt7316-i2c.c b/drivers/staging/iio/addac/adt7316-i2c.c index 2c03a39220e..9e128dd7d45 100644 --- a/drivers/staging/iio/addac/adt7316-i2c.c +++ b/drivers/staging/iio/addac/adt7316-i2c.c | |||
@@ -125,30 +125,14 @@ static const struct i2c_device_id adt7316_i2c_id[] = { | |||
125 | 125 | ||
126 | MODULE_DEVICE_TABLE(i2c, adt7316_i2c_id); | 126 | MODULE_DEVICE_TABLE(i2c, adt7316_i2c_id); |
127 | 127 | ||
128 | #ifdef CONFIG_PM | ||
129 | static int adt7316_i2c_suspend(struct i2c_client *client, pm_message_t message) | ||
130 | { | ||
131 | return adt7316_disable(&client->dev); | ||
132 | } | ||
133 | |||
134 | static int adt7316_i2c_resume(struct i2c_client *client) | ||
135 | { | ||
136 | return adt7316_enable(&client->dev); | ||
137 | } | ||
138 | #else | ||
139 | # define adt7316_i2c_suspend NULL | ||
140 | # define adt7316_i2c_resume NULL | ||
141 | #endif | ||
142 | |||
143 | static struct i2c_driver adt7316_driver = { | 128 | static struct i2c_driver adt7316_driver = { |
144 | .driver = { | 129 | .driver = { |
145 | .name = "adt7316", | 130 | .name = "adt7316", |
131 | .pm = ADT7316_PM_OPS, | ||
146 | .owner = THIS_MODULE, | 132 | .owner = THIS_MODULE, |
147 | }, | 133 | }, |
148 | .probe = adt7316_i2c_probe, | 134 | .probe = adt7316_i2c_probe, |
149 | .remove = __devexit_p(adt7316_i2c_remove), | 135 | .remove = __devexit_p(adt7316_i2c_remove), |
150 | .suspend = adt7316_i2c_suspend, | ||
151 | .resume = adt7316_i2c_resume, | ||
152 | .id_table = adt7316_i2c_id, | 136 | .id_table = adt7316_i2c_id, |
153 | }; | 137 | }; |
154 | module_i2c_driver(adt7316_driver); | 138 | module_i2c_driver(adt7316_driver); |
diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/addac/adt7316-spi.c index 1ea3cd06299..985f7d8a6eb 100644 --- a/drivers/staging/iio/addac/adt7316-spi.c +++ b/drivers/staging/iio/addac/adt7316-spi.c | |||
@@ -133,30 +133,14 @@ static const struct spi_device_id adt7316_spi_id[] = { | |||
133 | 133 | ||
134 | MODULE_DEVICE_TABLE(spi, adt7316_spi_id); | 134 | MODULE_DEVICE_TABLE(spi, adt7316_spi_id); |
135 | 135 | ||
136 | #ifdef CONFIG_PM | ||
137 | static int adt7316_spi_suspend(struct spi_device *spi_dev, pm_message_t message) | ||
138 | { | ||
139 | return adt7316_disable(&spi_dev->dev); | ||
140 | } | ||
141 | |||
142 | static int adt7316_spi_resume(struct spi_device *spi_dev) | ||
143 | { | ||
144 | return adt7316_enable(&spi_dev->dev); | ||
145 | } | ||
146 | #else | ||
147 | # define adt7316_spi_suspend NULL | ||
148 | # define adt7316_spi_resume NULL | ||
149 | #endif | ||
150 | |||
151 | static struct spi_driver adt7316_driver = { | 136 | static struct spi_driver adt7316_driver = { |
152 | .driver = { | 137 | .driver = { |
153 | .name = "adt7316", | 138 | .name = "adt7316", |
139 | .pm = ADT7316_PM_OPS, | ||
154 | .owner = THIS_MODULE, | 140 | .owner = THIS_MODULE, |
155 | }, | 141 | }, |
156 | .probe = adt7316_spi_probe, | 142 | .probe = adt7316_spi_probe, |
157 | .remove = __devexit_p(adt7316_spi_remove), | 143 | .remove = __devexit_p(adt7316_spi_remove), |
158 | .suspend = adt7316_spi_suspend, | ||
159 | .resume = adt7316_spi_resume, | ||
160 | .id_table = adt7316_spi_id, | 144 | .id_table = adt7316_spi_id, |
161 | }; | 145 | }; |
162 | module_spi_driver(adt7316_driver); | 146 | module_spi_driver(adt7316_driver); |
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c index 13c39292d3f..fd6a4544405 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c | |||
@@ -2089,24 +2089,25 @@ static struct attribute_group adt7516_event_attribute_group = { | |||
2089 | .name = "events", | 2089 | .name = "events", |
2090 | }; | 2090 | }; |
2091 | 2091 | ||
2092 | #ifdef CONFIG_PM | 2092 | #ifdef CONFIG_PM_SLEEP |
2093 | int adt7316_disable(struct device *dev) | 2093 | static int adt7316_disable(struct device *dev) |
2094 | { | 2094 | { |
2095 | struct iio_dev *dev_info = dev_get_drvdata(dev); | 2095 | struct iio_dev *dev_info = dev_get_drvdata(dev); |
2096 | struct adt7316_chip_info *chip = iio_priv(dev_info); | 2096 | struct adt7316_chip_info *chip = iio_priv(dev_info); |
2097 | 2097 | ||
2098 | return _adt7316_store_enabled(chip, 0); | 2098 | return _adt7316_store_enabled(chip, 0); |
2099 | } | 2099 | } |
2100 | EXPORT_SYMBOL(adt7316_disable); | ||
2101 | 2100 | ||
2102 | int adt7316_enable(struct device *dev) | 2101 | static int adt7316_enable(struct device *dev) |
2103 | { | 2102 | { |
2104 | struct iio_dev *dev_info = dev_get_drvdata(dev); | 2103 | struct iio_dev *dev_info = dev_get_drvdata(dev); |
2105 | struct adt7316_chip_info *chip = iio_priv(dev_info); | 2104 | struct adt7316_chip_info *chip = iio_priv(dev_info); |
2106 | 2105 | ||
2107 | return _adt7316_store_enabled(chip, 1); | 2106 | return _adt7316_store_enabled(chip, 1); |
2108 | } | 2107 | } |
2109 | EXPORT_SYMBOL(adt7316_enable); | 2108 | |
2109 | SIMPLE_DEV_PM_OPS(adt7316_pm_ops, adt7316_disable, adt7316_enable); | ||
2110 | EXPORT_SYMBOL_GPL(adt7316_pm_ops); | ||
2110 | #endif | 2111 | #endif |
2111 | 2112 | ||
2112 | static const struct iio_info adt7316_info = { | 2113 | static const struct iio_info adt7316_info = { |
diff --git a/drivers/staging/iio/addac/adt7316.h b/drivers/staging/iio/addac/adt7316.h index d34bd679bb4..4d3efff46ae 100644 --- a/drivers/staging/iio/addac/adt7316.h +++ b/drivers/staging/iio/addac/adt7316.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #define _ADT7316_H_ | 10 | #define _ADT7316_H_ |
11 | 11 | ||
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/pm.h> | ||
13 | 14 | ||
14 | #define ADT7316_REG_MAX_ADDR 0x3F | 15 | #define ADT7316_REG_MAX_ADDR 0x3F |
15 | 16 | ||
@@ -23,9 +24,11 @@ struct adt7316_bus { | |||
23 | int (*multi_write) (void *client, u8 first_reg, u8 count, u8 *data); | 24 | int (*multi_write) (void *client, u8 first_reg, u8 count, u8 *data); |
24 | }; | 25 | }; |
25 | 26 | ||
26 | #ifdef CONFIG_PM | 27 | #ifdef CONFIG_PM_SLEEP |
27 | int adt7316_disable(struct device *dev); | 28 | extern const struct dev_pm_ops adt7316_pm_ops; |
28 | int adt7316_enable(struct device *dev); | 29 | #define ADT7316_PM_OPS (&adt7316_pm_ops) |
30 | #else | ||
31 | #define ADT7316_PM_OPS NULL | ||
29 | #endif | 32 | #endif |
30 | int adt7316_probe(struct device *dev, struct adt7316_bus *bus, const char *name); | 33 | int adt7316_probe(struct device *dev, struct adt7316_bus *bus, const char *name); |
31 | int adt7316_remove(struct device *dev); | 34 | int adt7316_remove(struct device *dev); |
diff --git a/drivers/staging/iio/dac/max517.c b/drivers/staging/iio/dac/max517.c index a4df6d7443c..41483c72cec 100644 --- a/drivers/staging/iio/dac/max517.c +++ b/drivers/staging/iio/dac/max517.c | |||
@@ -179,20 +179,27 @@ static struct attribute_group max518_attribute_group = { | |||
179 | .attrs = max518_attributes, | 179 | .attrs = max518_attributes, |
180 | }; | 180 | }; |
181 | 181 | ||
182 | static int max517_suspend(struct i2c_client *client, pm_message_t mesg) | 182 | #ifdef CONFIG_PM_SLEEP |
183 | static int max517_suspend(struct device *dev) | ||
183 | { | 184 | { |
184 | u8 outbuf = COMMAND_PD; | 185 | u8 outbuf = COMMAND_PD; |
185 | 186 | ||
186 | return i2c_master_send(client, &outbuf, 1); | 187 | return i2c_master_send(to_i2c_client(dev), &outbuf, 1); |
187 | } | 188 | } |
188 | 189 | ||
189 | static int max517_resume(struct i2c_client *client) | 190 | static int max517_resume(struct device *dev) |
190 | { | 191 | { |
191 | u8 outbuf = 0; | 192 | u8 outbuf = 0; |
192 | 193 | ||
193 | return i2c_master_send(client, &outbuf, 1); | 194 | return i2c_master_send(to_i2c_client(dev), &outbuf, 1); |
194 | } | 195 | } |
195 | 196 | ||
197 | static SIMPLE_DEV_PM_OPS(max517_pm_ops, max517_suspend, max517_resume); | ||
198 | #define MAX517_PM_OPS (&max517_pm_ops) | ||
199 | #else | ||
200 | #define MAX517_PM_OPS NULL | ||
201 | #endif | ||
202 | |||
196 | static const struct iio_info max517_info = { | 203 | static const struct iio_info max517_info = { |
197 | .attrs = &max517_attribute_group, | 204 | .attrs = &max517_attribute_group, |
198 | .driver_module = THIS_MODULE, | 205 | .driver_module = THIS_MODULE, |
@@ -273,11 +280,10 @@ MODULE_DEVICE_TABLE(i2c, max517_id); | |||
273 | static struct i2c_driver max517_driver = { | 280 | static struct i2c_driver max517_driver = { |
274 | .driver = { | 281 | .driver = { |
275 | .name = MAX517_DRV_NAME, | 282 | .name = MAX517_DRV_NAME, |
283 | .pm = MAX517_PM_OPS, | ||
276 | }, | 284 | }, |
277 | .probe = max517_probe, | 285 | .probe = max517_probe, |
278 | .remove = max517_remove, | 286 | .remove = max517_remove, |
279 | .suspend = max517_suspend, | ||
280 | .resume = max517_resume, | ||
281 | .id_table = max517_id, | 287 | .id_table = max517_id, |
282 | }; | 288 | }; |
283 | module_i2c_driver(max517_driver); | 289 | module_i2c_driver(max517_driver); |
diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c index ffca85e81ef..aca1e0380ef 100644 --- a/drivers/staging/iio/light/tsl2563.c +++ b/drivers/staging/iio/light/tsl2563.c | |||
@@ -118,7 +118,7 @@ struct tsl2563_chip { | |||
118 | struct delayed_work poweroff_work; | 118 | struct delayed_work poweroff_work; |
119 | 119 | ||
120 | /* Remember state for suspend and resume functions */ | 120 | /* Remember state for suspend and resume functions */ |
121 | pm_message_t state; | 121 | bool suspended; |
122 | 122 | ||
123 | struct tsl2563_gainlevel_coeff const *gainlevel; | 123 | struct tsl2563_gainlevel_coeff const *gainlevel; |
124 | 124 | ||
@@ -315,7 +315,7 @@ static int tsl2563_get_adc(struct tsl2563_chip *chip) | |||
315 | int retry = 1; | 315 | int retry = 1; |
316 | int ret = 0; | 316 | int ret = 0; |
317 | 317 | ||
318 | if (chip->state.event != PM_EVENT_ON) | 318 | if (chip->suspended) |
319 | goto out; | 319 | goto out; |
320 | 320 | ||
321 | if (!chip->int_enabled) { | 321 | if (!chip->int_enabled) { |
@@ -810,9 +810,10 @@ static int tsl2563_remove(struct i2c_client *client) | |||
810 | return 0; | 810 | return 0; |
811 | } | 811 | } |
812 | 812 | ||
813 | static int tsl2563_suspend(struct i2c_client *client, pm_message_t state) | 813 | #ifdef CONFIG_PM_SLEEP |
814 | static int tsl2563_suspend(struct device *dev) | ||
814 | { | 815 | { |
815 | struct tsl2563_chip *chip = i2c_get_clientdata(client); | 816 | struct tsl2563_chip *chip = i2c_get_clientdata(to_i2c_client(dev)); |
816 | int ret; | 817 | int ret; |
817 | 818 | ||
818 | mutex_lock(&chip->lock); | 819 | mutex_lock(&chip->lock); |
@@ -821,16 +822,16 @@ static int tsl2563_suspend(struct i2c_client *client, pm_message_t state) | |||
821 | if (ret) | 822 | if (ret) |
822 | goto out; | 823 | goto out; |
823 | 824 | ||
824 | chip->state = state; | 825 | chip->suspended = true; |
825 | 826 | ||
826 | out: | 827 | out: |
827 | mutex_unlock(&chip->lock); | 828 | mutex_unlock(&chip->lock); |
828 | return ret; | 829 | return ret; |
829 | } | 830 | } |
830 | 831 | ||
831 | static int tsl2563_resume(struct i2c_client *client) | 832 | static int tsl2563_resume(struct device *dev) |
832 | { | 833 | { |
833 | struct tsl2563_chip *chip = i2c_get_clientdata(client); | 834 | struct tsl2563_chip *chip = i2c_get_clientdata(to_i2c_client(dev)); |
834 | int ret; | 835 | int ret; |
835 | 836 | ||
836 | mutex_lock(&chip->lock); | 837 | mutex_lock(&chip->lock); |
@@ -843,13 +844,19 @@ static int tsl2563_resume(struct i2c_client *client) | |||
843 | if (ret) | 844 | if (ret) |
844 | goto out; | 845 | goto out; |
845 | 846 | ||
846 | chip->state.event = PM_EVENT_ON; | 847 | chip->suspended = false; |
847 | 848 | ||
848 | out: | 849 | out: |
849 | mutex_unlock(&chip->lock); | 850 | mutex_unlock(&chip->lock); |
850 | return ret; | 851 | return ret; |
851 | } | 852 | } |
852 | 853 | ||
854 | static SIMPLE_DEV_PM_OPS(tsl2563_pm_ops, tsl2563_suspend, tsl2563_resume); | ||
855 | #define TSL2563_PM_OPS (&tsl2563_pm_ops) | ||
856 | #else | ||
857 | #define TSL2563_PM_OPS NULL | ||
858 | #endif | ||
859 | |||
853 | static const struct i2c_device_id tsl2563_id[] = { | 860 | static const struct i2c_device_id tsl2563_id[] = { |
854 | { "tsl2560", 0 }, | 861 | { "tsl2560", 0 }, |
855 | { "tsl2561", 1 }, | 862 | { "tsl2561", 1 }, |
@@ -862,9 +869,8 @@ MODULE_DEVICE_TABLE(i2c, tsl2563_id); | |||
862 | static struct i2c_driver tsl2563_i2c_driver = { | 869 | static struct i2c_driver tsl2563_i2c_driver = { |
863 | .driver = { | 870 | .driver = { |
864 | .name = "tsl2563", | 871 | .name = "tsl2563", |
872 | .pm = TSL2563_PM_OPS, | ||
865 | }, | 873 | }, |
866 | .suspend = tsl2563_suspend, | ||
867 | .resume = tsl2563_resume, | ||
868 | .probe = tsl2563_probe, | 874 | .probe = tsl2563_probe, |
869 | .remove = __devexit_p(tsl2563_remove), | 875 | .remove = __devexit_p(tsl2563_remove), |
870 | .id_table = tsl2563_id, | 876 | .id_table = tsl2563_id, |
diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c index 5b6455a238d..9fe9a671ecf 100644 --- a/drivers/staging/iio/light/tsl2583.c +++ b/drivers/staging/iio/light/tsl2583.c | |||
@@ -884,9 +884,10 @@ fail2: | |||
884 | return ret; | 884 | return ret; |
885 | } | 885 | } |
886 | 886 | ||
887 | static int taos_suspend(struct i2c_client *client, pm_message_t state) | 887 | #ifdef CONFIG_PM_SLEEP |
888 | static int taos_suspend(struct device *dev) | ||
888 | { | 889 | { |
889 | struct iio_dev *indio_dev = i2c_get_clientdata(client); | 890 | struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev)); |
890 | struct tsl2583_chip *chip = iio_priv(indio_dev); | 891 | struct tsl2583_chip *chip = iio_priv(indio_dev); |
891 | int ret = 0; | 892 | int ret = 0; |
892 | 893 | ||
@@ -901,9 +902,9 @@ static int taos_suspend(struct i2c_client *client, pm_message_t state) | |||
901 | return ret; | 902 | return ret; |
902 | } | 903 | } |
903 | 904 | ||
904 | static int taos_resume(struct i2c_client *client) | 905 | static int taos_resume(struct device *dev) |
905 | { | 906 | { |
906 | struct iio_dev *indio_dev = i2c_get_clientdata(client); | 907 | struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev)); |
907 | struct tsl2583_chip *chip = iio_priv(indio_dev); | 908 | struct tsl2583_chip *chip = iio_priv(indio_dev); |
908 | int ret = 0; | 909 | int ret = 0; |
909 | 910 | ||
@@ -916,6 +917,11 @@ static int taos_resume(struct i2c_client *client) | |||
916 | return ret; | 917 | return ret; |
917 | } | 918 | } |
918 | 919 | ||
920 | static SIMPLE_DEV_PM_OPS(taos_pm_ops, taos_suspend, taos_resume); | ||
921 | #define TAOS_PM_OPS (&taos_pm_ops) | ||
922 | #else | ||
923 | #define TAOS_PM_OPS NULL | ||
924 | #endif | ||
919 | 925 | ||
920 | static int __devexit taos_remove(struct i2c_client *client) | 926 | static int __devexit taos_remove(struct i2c_client *client) |
921 | { | 927 | { |
@@ -937,10 +943,9 @@ MODULE_DEVICE_TABLE(i2c, taos_idtable); | |||
937 | static struct i2c_driver taos_driver = { | 943 | static struct i2c_driver taos_driver = { |
938 | .driver = { | 944 | .driver = { |
939 | .name = "tsl2583", | 945 | .name = "tsl2583", |
946 | .pm = TAOS_PM_OPS, | ||
940 | }, | 947 | }, |
941 | .id_table = taos_idtable, | 948 | .id_table = taos_idtable, |
942 | .suspend = taos_suspend, | ||
943 | .resume = taos_resume, | ||
944 | .probe = taos_probe, | 949 | .probe = taos_probe, |
945 | .remove = __devexit_p(taos_remove), | 950 | .remove = __devexit_p(taos_remove), |
946 | }; | 951 | }; |
diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c index f2e85a9cf19..d24992ceb2b 100644 --- a/drivers/staging/iio/magnetometer/hmc5843.c +++ b/drivers/staging/iio/magnetometer/hmc5843.c | |||
@@ -588,19 +588,26 @@ static int hmc5843_remove(struct i2c_client *client) | |||
588 | return 0; | 588 | return 0; |
589 | } | 589 | } |
590 | 590 | ||
591 | static int hmc5843_suspend(struct i2c_client *client, pm_message_t mesg) | 591 | #ifdef CONFIG_PM_SLEEP |
592 | static int hmc5843_suspend(struct device *dev) | ||
592 | { | 593 | { |
593 | hmc5843_configure(client, MODE_SLEEP); | 594 | hmc5843_configure(to_i2c_client(dev), MODE_SLEEP); |
594 | return 0; | 595 | return 0; |
595 | } | 596 | } |
596 | 597 | ||
597 | static int hmc5843_resume(struct i2c_client *client) | 598 | static int hmc5843_resume(struct device *dev) |
598 | { | 599 | { |
599 | struct hmc5843_data *data = i2c_get_clientdata(client); | 600 | struct hmc5843_data *data = i2c_get_clientdata(to_i2c_client(dev)); |
600 | hmc5843_configure(client, data->operating_mode); | 601 | hmc5843_configure(to_i2c_client(dev), data->operating_mode); |
601 | return 0; | 602 | return 0; |
602 | } | 603 | } |
603 | 604 | ||
605 | static SIMPLE_DEV_PM_OPS(hmc5843_pm_ops, hmc5843_suspend, hmc5843_resume); | ||
606 | #define HMC5843_PM_OPS (&hmc5843_pm_ops) | ||
607 | #else | ||
608 | #define HMC5843_PM_OPS NULL | ||
609 | #endif | ||
610 | |||
604 | static const struct i2c_device_id hmc5843_id[] = { | 611 | static const struct i2c_device_id hmc5843_id[] = { |
605 | { "hmc5843", 0 }, | 612 | { "hmc5843", 0 }, |
606 | { } | 613 | { } |
@@ -610,14 +617,13 @@ MODULE_DEVICE_TABLE(i2c, hmc5843_id); | |||
610 | static struct i2c_driver hmc5843_driver = { | 617 | static struct i2c_driver hmc5843_driver = { |
611 | .driver = { | 618 | .driver = { |
612 | .name = "hmc5843", | 619 | .name = "hmc5843", |
620 | .pm = HMC5843_PM_OPS, | ||
613 | }, | 621 | }, |
614 | .id_table = hmc5843_id, | 622 | .id_table = hmc5843_id, |
615 | .probe = hmc5843_probe, | 623 | .probe = hmc5843_probe, |
616 | .remove = hmc5843_remove, | 624 | .remove = hmc5843_remove, |
617 | .detect = hmc5843_detect, | 625 | .detect = hmc5843_detect, |
618 | .address_list = normal_i2c, | 626 | .address_list = normal_i2c, |
619 | .suspend = hmc5843_suspend, | ||
620 | .resume = hmc5843_resume, | ||
621 | }; | 627 | }; |
622 | module_i2c_driver(hmc5843_driver); | 628 | module_i2c_driver(hmc5843_driver); |
623 | 629 | ||