quoted
+ i2c_ic->irq_domain = irq_domain_add_linear(
+ node, ASPEED_I2C_IC_NUM_BUS,
+ &aspeed_i2c_ic_irq_domain_ops, NULL);
nit: can you have at least one argument following the function name?
Even if checkpatch shouts out you?
Makes no difference to me.
quoted
+ if (!i2c_ic->irq_domain)
+ return -ENOMEM;
All these error paths are leaking the initial memory allocation.
Whoops, forgot I am not using devm_*.
quoted
+
+ i2c_ic->irq_domain->name = "aspeed-i2c-domain";
+
+ irq_set_chained_handler_and_data(i2c_ic->parent_irq,
+ aspeed_i2c_ic_irq_handler, i2c_ic);
+
+ pr_info("i2c controller registered, irq %d\n", i2c_ic->parent_irq);
+
+ return 0;
+}
+
+IRQCHIP_DECLARE(ast2400_i2c_ic, "aspeed,ast2400-i2c-ic", aspeed_i2c_ic_of_init);
+IRQCHIP_DECLARE(ast2500_i2c_ic, "aspeed,ast2500-i2c-ic", aspeed_i2c_ic_of_init);
Once you've fixed the trivial bug above, this should be good to go.
What's the merging strategy? Can I take the initial two patches, and let
someone else deal with the rest? Or do you want the whole series to be
kept together?
I think it makes most sense to keep it together and let Wolfram merge the
whole thing since the I2C patches won't work without this and I would not
want to make the merging process unnecessarily complicated.