Hi Justin, > @@ -1036,7 +1036,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev) > platform_set_drvdata(pdev, iproc_i2c); > iproc_i2c->device = &pdev->dev; > iproc_i2c->type = > - (enum bcm_iproc_i2c_type)of_device_get_match_data(&pdev->dev); > + (unsigned long) of_device_get_match_data(&pdev->dev); I think this should be uintptr_t, as defined in types.h: typedef unsigned long uintptr_t; (I'm a bit puzzled to see a void *data cast to a 0/1 value.) Andi