media: pci: saa7164: saa7164-dvb: convert to use i2c_new_client_device()
[linux-block.git] / drivers / media / pci / saa7164 / saa7164-dvb.c
index 05ab4734ea67e27d4ef9d9921c87a7cac9c5db85..bf8c2bb8852ee190ebe95276fe2897283d243f8f 100644 (file)
@@ -116,8 +116,8 @@ static int si2157_attach(struct saa7164_port *port, struct i2c_adapter *adapter,
 
        request_module(bi.type);
 
-       tuner = i2c_new_device(adapter, &bi);
-       if (tuner == NULL || tuner->dev.driver == NULL)
+       tuner = i2c_new_client_device(adapter, &bi);
+       if (!i2c_client_has_driver(tuner))
                return -ENODEV;
 
        if (!try_module_get(tuner->dev.driver->owner)) {
@@ -637,9 +637,8 @@ int saa7164_dvb_register(struct saa7164_port *port)
                        info.addr = 0xc8 >> 1;
                        info.platform_data = &si2168_config;
                        request_module(info.type);
-                       client_demod = i2c_new_device(&dev->i2c_bus[2].i2c_adap,
-                                                     &info);
-                       if (!client_demod || !client_demod->dev.driver)
+                       client_demod = i2c_new_client_device(&dev->i2c_bus[2].i2c_adap, &info);
+                       if (!i2c_client_has_driver(client_demod))
                                goto frontend_detach;
 
                        if (!try_module_get(client_demod->dev.driver->owner)) {
@@ -657,9 +656,8 @@ int saa7164_dvb_register(struct saa7164_port *port)
                        info.addr = 0xc0 >> 1;
                        info.platform_data = &si2157_config;
                        request_module(info.type);
-                       client_tuner = i2c_new_device(&dev->i2c_bus[0].i2c_adap,
-                                                     &info);
-                       if (!client_tuner || !client_tuner->dev.driver) {
+                       client_tuner = i2c_new_client_device(&dev->i2c_bus[0].i2c_adap, &info);
+                       if (!i2c_client_has_driver(client_tuner)) {
                                module_put(client_demod->dev.driver->owner);
                                i2c_unregister_device(client_demod);
                                goto frontend_detach;
@@ -682,9 +680,8 @@ int saa7164_dvb_register(struct saa7164_port *port)
                        info.addr = 0xcc >> 1;
                        info.platform_data = &si2168_config;
                        request_module(info.type);
-                       client_demod = i2c_new_device(&dev->i2c_bus[2].i2c_adap,
-                                                     &info);
-                       if (!client_demod || !client_demod->dev.driver)
+                       client_demod = i2c_new_client_device(&dev->i2c_bus[2].i2c_adap, &info);
+                       if (!i2c_client_has_driver(client_demod))
                                goto frontend_detach;
 
                        if (!try_module_get(client_demod->dev.driver->owner)) {
@@ -702,9 +699,8 @@ int saa7164_dvb_register(struct saa7164_port *port)
                        info.addr = 0xc0 >> 1;
                        info.platform_data = &si2157_config;
                        request_module(info.type);
-                       client_tuner = i2c_new_device(&dev->i2c_bus[1].i2c_adap,
-                                                     &info);
-                       if (!client_tuner || !client_tuner->dev.driver) {
+                       client_tuner = i2c_new_client_device(&dev->i2c_bus[1].i2c_adap, &info);
+                       if (!i2c_client_has_driver(client_tuner)) {
                                module_put(client_demod->dev.driver->owner);
                                i2c_unregister_device(client_demod);
                                goto frontend_detach;