@@ -516,6 +516,7 @@ struct rcar_canfd_hw_info {
/* hardware features */
unsigned shared_global_irqs:1; /* Has shared global irqs */
unsigned multi_channel_irqs:1; /* Has multiple channel irqs */
+ unsigned gen4_type:1; /* Has gen4 type reg layout */
};
/* Channel priv data */
@@ -596,6 +597,7 @@ static const struct rcar_canfd_hw_info rcar_gen4_hw_info = {
.max_channels = 8,
.postdiv = 2,
.shared_global_irqs = 1,
+ .gen4_type = 1,
};
static const struct rcar_canfd_hw_info rzg2l_hw_info = {
@@ -607,7 +609,7 @@ static const struct rcar_canfd_hw_info rzg2l_hw_info = {
/* Helper functions */
static inline bool is_gen4(struct rcar_canfd_global *gpriv)
{
- return gpriv->info == &rcar_gen4_hw_info;
+ return gpriv->info->gen4_type;
}
static inline u32 reg_gen4(struct rcar_canfd_global *gpriv,
Both R-Car Gen4 and RZ/G3E SoCs have similar register layout. Introduce gen4_type variable to struct rcar_canfd_hw_info for the preparation of adding RZ/G3E driver support. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v1->v2: * No change. --- drivers/net/can/rcar/rcar_canfd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)