media: cx23885: Set subdev host data to clk_freq pointer
authorBrad Love <brad@nextdimension.cc>
Tue, 6 Mar 2018 19:15:36 +0000 (14:15 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 May 2018 14:13:10 +0000 (16:13 +0200)
[ Upstream commit 5ceade1d97fc6687e050c44c257382c192f56276 ]

Currently clk_freq is ignored entirely, because the cx235840 driver
configures the xtal at the chip defaults. This is an issue if a
board is produced with a non-default frequency crystal. If clk_freq
is not zero the cx25840 will attempt to use the setting provided,
or fall back to defaults otherwise.

Signed-off-by: Brad Love <brad@nextdimension.cc>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/pci/cx23885/cx23885-cards.c

index 99ba8d6328f0f1b0baddd34936fe586593882bc4..427ece11340bd49059ba30a2c4dc57419b501574 100644 (file)
@@ -2282,6 +2282,10 @@ void cx23885_card_setup(struct cx23885_dev *dev)
                                &dev->i2c_bus[2].i2c_adap,
                                "cx25840", 0x88 >> 1, NULL);
                if (dev->sd_cx25840) {
+                       /* set host data for clk_freq configuration */
+                       v4l2_set_subdev_hostdata(dev->sd_cx25840,
+                                               &dev->clk_freq);
+
                        dev->sd_cx25840->grp_id = CX23885_HW_AV_CORE;
                        v4l2_subdev_call(dev->sd_cx25840, core, load_fw);
                }