Power_* function pointers not called listed in static struct camera_common_sensor_ops

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?

The power_on() function will involve after streaming on command.
Below command(–stream-mmap) should call the power_on()

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.