Hi, using Coccinelle v1.04 from Debian:
$ spatch -version spatch version 1.0.4 with Python support and with PCRE support The following semantic patch produces a match with current linux-next: @@ expression table, dev; type T; @@ - (T)of_match_device(table, dev)->data + of_device_get_match_data(dev) $ spatch -sp_file minimal.cocci drivers/gpu/drm/rcar-du/ ... HANDLING: drivers/gpu/drm/rcar-du/rcar_du_drv.c diff = diff -u -p a/rcar_du_drv.c b/rcar_du_drv.c --- a/rcar_du_drv.c +++ b/rcar_du_drv.c @@ -183,7 +183,7 @@ static int rcar_du_load(struct drm_devic init_waitqueue_head(&rcdu->commit.wait); rcdu->dev = &pdev->dev; - rcdu->info = of_match_device(rcar_du_of_table, rcdu->dev)->data; + rcdu->info = of_device_get_match_data(rcdu->dev); rcdu->ddev = dev; dev->dev_private = rcdu; However, the match goes away when I want to keep a potential cast (T) which I need in other places: @@ expression table, dev; type T; @@ - (T)of_match_device(table, dev)->data + (T)of_device_get_match_data(dev) I wonder why adding (T) to "+" affects the matching. Is this a bug or do I miss something? Thanks, Wolfram
signature.asc
Description: PGP signature
_______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci