I am using Jetpack R35.1.0 and have written my custom camera sensor driver based/taking reference of nv_imx219.c
I have set of power function pointers entries in:
static struct camera_common_sensor_ops irs2381_common_ops = {
.numfrmfmts = ARRAY_SIZE(irs2381_frmfmt),
.frmfmt_table = irs2381_frmfmt,
.power_on = irs2381_power_on,
.power_off = irs2381_power_off,
.parse_dt = irs2381_parse_dt,
.power_get = irs2381_power_get,
.power_put = irs2381_power_put,
};
My camera sensor is registered and video0 node is being populated. I have problems in CSI streaming but before that I am not seeing the power function pointers being invoked.
# v4l2-ctl -d /dev/video0 --list-formats -
VIDIOC_QUERYCAP: ok
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'BG12' (12-bit Bayer BGBG/GRGR)
But the strange issue is none of the power functions are being called in my driver. I have a similar function like imx219_board_setup() and there i can read an i2c register to confirm that i2c-mux interface is working. Could anyone please provide some pointer why my power function pointers are not called?