.id            = V4L2_CID_AUDIO_VOLUME,
                        .name          = "Volume",
                        .minimum       = 0,
-                       .maximum       = 0x3f,
-                       .step          = 1,
-                       .default_value = 0x3f,
+                       .maximum       = 65535,
+                       .step          = 65535 / 100,
+                       .default_value = 65535,
                        .type          = V4L2_CTRL_TYPE_INTEGER,
                },
                .reg                   = PATH1_VOL_CTL,
 
 
 static void set_volume(struct i2c_client *client, int volume)
 {
-       struct cx25840_state *state = to_state(i2c_get_clientdata(client));
        int vol;
 
        /* Convert the volume to msp3400 values (0-127) */
        }
 
        /* PATH1_VOLUME */
-       if (is_cx2388x(state)) {
-               /* for cx23885 volume doesn't work,
-                * the calculation always results in
-                * e4 regardless.
-                */
-               cx25840_write(client, 0x8d4, volume);
-       } else
-               cx25840_write(client, 0x8d4, 228 - (vol * 2));
+       cx25840_write(client, 0x8d4, 228 - (vol * 2));
 }
 
 static void set_balance(struct i2c_client *client, int balance)