Hi Jacopo, One more comment below: On 07/01/2019 12:36, Kieran Bingham wrote: > Hi Jacopo, > > On 06/01/2019 15:54, Jacopo Mondi wrote: >> When the adv748x driver is informed about a link being created from HDMI or >> AFE to a CSI-2 TX output, the 'link_setup()' callback is invoked. Make >> sure to implement proper routing management at link setup time, to route >> the selected video stream to the desired TX output.> <snip> >> static int adv748x_parse_csi2_lanes(struct adv748x_state *state, >> diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h >> index 6eb2e4a95eed..eb19c6cbbb4e 100644 >> --- a/drivers/media/i2c/adv748x/adv748x.h >> +++ b/drivers/media/i2c/adv748x/adv748x.h >> @@ -93,6 +93,7 @@ struct adv748x_csi2 { >> >> #define is_tx_enabled(_tx) ((_tx)->state->endpoints[(_tx)->port] != NULL) >> #define __is_tx(_tx, _ab) ((_tx) == &(_tx)->state->tx##_ab) >> +#define is_tx(_tx) (is_txa(_tx) || is_txb(_tx)) I'd put this /after/ is_txa/is_txb so that the use is after the declarations. -- KB >> #define is_txa(_tx) __is_tx(_tx, a) >> #define is_txb(_tx) __is_tx(_tx, b) >> >> @@ -224,6 +225,7 @@ struct adv748x_state { >> #define ADV748X_IO_10_CSI4_EN BIT(7) >> #define ADV748X_IO_10_CSI1_EN BIT(6) >> #define ADV748X_IO_10_PIX_OUT_EN BIT(5) >> +#define ADV748X_IO_10_CSI4_IN_SEL_AFE BIT(3) >> >> #define ADV748X_IO_CHIP_REV_ID_1 0xdf >> #define ADV748X_IO_CHIP_REV_ID_2 0xe0 >> > -- Regards -- Kieran