This is needed to free any resources requested in
the .registered subdev op.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
        return ret;
 }
 
+static void s5c73m3_oif_unregistered(struct v4l2_subdev *sd)
+{
+       struct s5c73m3 *state = oif_sd_to_s5c73m3(sd);
+       v4l2_device_unregister_subdev(&state->sensor_sd);
+}
+
 static const struct v4l2_subdev_internal_ops s5c73m3_internal_ops = {
        .open           = s5c73m3_open,
 };
 
 static const struct v4l2_subdev_internal_ops oif_internal_ops = {
        .registered     = s5c73m3_oif_registered,
+       .unregistered   = s5c73m3_oif_unregistered,
        .open           = s5c73m3_oif_open,
 };