In theory, the error code could be something else if of_irq_get() failed
for any other reason. Handle all those error cases at once by checking
IS_ERR(priv->irq) rather than just -EPROBE_DEFER. Then you can just
return dev_err_probe() with priv->irq for the error code.
+enum counter_mchp_event_channels {
+ COUNTER_MCHP_EVCHN_CV = 0,
+ COUNTER_MCHP_EVCHN_RA = 0,
+ COUNTER_MCHP_EVCHN_RB,
+ COUNTER_MCHP_EVCHN_RC,
+};
These would be better as preprocessor defines in case we need to
introduce new events to channel 1 or 2 in the future. That would allow
us to insert new events easily to existing channels without having to
worry about its actual position in an enum list.
One additional benefit is if we do end up introducing more Counts for
the module. In that situation we would have multiple CV and RA/RB/RC per
Counter device, but we can easily define a preprocessor macro to
calculate the channel offset given the Count index. However, with enum
structure we would have to manually add and maintain redundant defines
for each Count, which is far less ideal.
William Breathitt Gray