if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (flag) {
                /* The upstream module driver (written to Crystal
                 * Cove) had this logic to pulse the rails low first.
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (flag) {
                ret = dev->platform_data->v1p8_ctrl(sd, 1);
                usleep_range(60, 90);
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (flag) {
                ret = dev->platform_data->v2p8_ctrl(sd, 1);
                if (ret == 0) {
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (flag) {
                ret |= dev->platform_data->v1p8_ctrl(sd, 1);
                ret |= dev->platform_data->v2p8_ctrl(sd, 1);
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (flag) {
                ret = dev->platform_data->v1p8_ctrl(sd, 1);
                if (ret == 0) {
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        /* This driver assumes "internal DVDD, PWDNB tied to DOVDD".
         * In this set up only gpio0 (XSHUTDN) should be available
         * but in some products (for example ECS) gpio1 (PWDNB) is
 
        if (!dev || !dev->platform_data)
                return -ENODEV;
 
-       /* Non-gmin platforms use the legacy callback */
-       if (dev->platform_data->power_ctrl)
-               return dev->platform_data->power_ctrl(sd, flag);
-
        if (dev->platform_data->v1p2_ctrl) {
                ret = dev->platform_data->v1p2_ctrl(sd, flag);
                if (ret) {
 
 
 struct camera_sensor_platform_data {
        int (*flisclk_ctrl)(struct v4l2_subdev *subdev, int flag);
-       int (*power_ctrl)(struct v4l2_subdev *subdev, int flag);
        int (*csi_cfg)(struct v4l2_subdev *subdev, int flag);
        bool (*low_fps)(void);
        int (*platform_init)(struct i2c_client *);
        char *(*msr_file_name)(void);
        struct atomisp_camera_caps *(*get_camera_caps)(void);
 
-       /* New G-Min power and GPIO interface, replaces
-        * power/gpio_ctrl with methods to control individual
-        * lines as implemented on all known camera modules. */
+       /*
+        * New G-Min power and GPIO interface to control individual
+        * lines as implemented on all known camera modules.
+        */
        int (*gpio0_ctrl)(struct v4l2_subdev *subdev, int on);
        int (*gpio1_ctrl)(struct v4l2_subdev *subdev, int on);
        int (*v1p8_ctrl)(struct v4l2_subdev *subdev, int on);