> static const struct of_device_id bcm2835_i2c_of_match[] = { > - { .compatible = "brcm,bcm2835-i2c" }, > + { .compatible = "brcm,bcm2711-i2c", .data = (void *)NO_STRETCH_BUG }, > + { .compatible = "brcm,bcm2835-i2c", .data = (void *)STRETCH_BUG }, What about simply putting a pointer to the quirks data (or NULL) as match_data? Then the code should be: adap->quirks = (cast)of_device_get_match_data(&pdev->dev);