Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'linux-can-next-for-6.17-20250711' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next

Marc Kleine-Budde says:

====================
pull-request: can-next 2025-07-11

The first patch is by Geert Uytterhoeven and converts the rcar_can
driver to DEFINE_SIMPLE_DEV_PM_OPS.

The last patch is by Biju Das and removes unused macros from the
rcar_canfd driver.

* tag 'linux-can-next-for-6.17-20250711' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next:
can: rcar_canfd: Drop unused macros
can: rcar_can: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
====================

Link: https://patch.msgid.link/20250711101706.2822687-1-mkl@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+5 -97
+5 -4
drivers/net/can/rcar/rcar_can.c
··· 834 834 free_candev(ndev); 835 835 } 836 836 837 - static int __maybe_unused rcar_can_suspend(struct device *dev) 837 + static int rcar_can_suspend(struct device *dev) 838 838 { 839 839 struct net_device *ndev = dev_get_drvdata(dev); 840 840 struct rcar_can_priv *priv = netdev_priv(ndev); ··· 857 857 return 0; 858 858 } 859 859 860 - static int __maybe_unused rcar_can_resume(struct device *dev) 860 + static int rcar_can_resume(struct device *dev) 861 861 { 862 862 struct net_device *ndev = dev_get_drvdata(dev); 863 863 struct rcar_can_priv *priv = netdev_priv(ndev); ··· 886 886 return 0; 887 887 } 888 888 889 - static SIMPLE_DEV_PM_OPS(rcar_can_pm_ops, rcar_can_suspend, rcar_can_resume); 889 + static DEFINE_SIMPLE_DEV_PM_OPS(rcar_can_pm_ops, rcar_can_suspend, 890 + rcar_can_resume); 890 891 891 892 static const struct of_device_id rcar_can_of_table[] __maybe_unused = { 892 893 { .compatible = "renesas,can-r8a7778" }, ··· 905 904 .driver = { 906 905 .name = RCAR_CAN_DRV_NAME, 907 906 .of_match_table = of_match_ptr(rcar_can_of_table), 908 - .pm = &rcar_can_pm_ops, 907 + .pm = pm_sleep_ptr(&rcar_can_pm_ops), 909 908 }, 910 909 .probe = rcar_can_probe, 911 910 .remove = rcar_can_remove,
-93
drivers/net/can/rcar/rcar_canfd.c
··· 224 224 225 225 /* RSCFDnCFDRFPTRx */ 226 226 #define RCANFD_RFPTR_RFDLC(x) (((x) >> 28) & 0xf) 227 - #define RCANFD_RFPTR_RFPTR(x) (((x) >> 16) & 0xfff) 228 - #define RCANFD_RFPTR_RFTS(x) (((x) >> 0) & 0xffff) 229 227 230 228 /* RSCFDnCFDRFFDSTSx */ 231 229 #define RCANFD_RFFDSTS_RFFDF BIT(2) ··· 255 257 /* RSCFDnCFDCFIDk */ 256 258 #define RCANFD_CFID_CFIDE BIT(31) 257 259 #define RCANFD_CFID_CFRTR BIT(30) 258 - #define RCANFD_CFID_CFID_MASK(x) ((x) & 0x1fffffff) 259 260 260 261 /* RSCFDnCFDCFPTRk */ 261 262 #define RCANFD_CFPTR_CFDLC(x) (((x) & 0xf) << 28) 262 - #define RCANFD_CFPTR_CFPTR(x) (((x) & 0xfff) << 16) 263 - #define RCANFD_CFPTR_CFTS(x) (((x) & 0xff) << 0) 264 263 265 264 /* RSCFDnCFDCFFDCSTSk */ 266 265 #define RCANFD_CFFDCSTS_CFFDF BIT(2) ··· 323 328 #define RCANFD_CFPCTR(gpriv, ch, idx) \ 324 329 ((gpriv)->info->regs->cfpctr + (0x0c * (ch)) + (0x04 * (idx))) 325 330 326 - /* RSCFDnCFDFESTS / RSCFDnFESTS */ 327 - #define RCANFD_FESTS (0x0238) 328 - /* RSCFDnCFDFFSTS / RSCFDnFFSTS */ 329 - #define RCANFD_FFSTS (0x023c) 330 - /* RSCFDnCFDFMSTS / RSCFDnFMSTS */ 331 - #define RCANFD_FMSTS (0x0240) 332 - /* RSCFDnCFDRFISTS / RSCFDnRFISTS */ 333 - #define RCANFD_RFISTS (0x0244) 334 - /* RSCFDnCFDCFRISTS / RSCFDnCFRISTS */ 335 - #define RCANFD_CFRISTS (0x0248) 336 - /* RSCFDnCFDCFTISTS / RSCFDnCFTISTS */ 337 - #define RCANFD_CFTISTS (0x024c) 338 - 339 - /* RSCFDnCFDTMCp / RSCFDnTMCp */ 340 - #define RCANFD_TMC(p) (0x0250 + (0x01 * (p))) 341 - /* RSCFDnCFDTMSTSp / RSCFDnTMSTSp */ 342 - #define RCANFD_TMSTS(p) (0x02d0 + (0x01 * (p))) 343 - 344 - /* RSCFDnCFDTMTRSTSp / RSCFDnTMTRSTSp */ 345 - #define RCANFD_TMTRSTS(y) (0x0350 + (0x04 * (y))) 346 - /* RSCFDnCFDTMTARSTSp / RSCFDnTMTARSTSp */ 347 - #define RCANFD_TMTARSTS(y) (0x0360 + (0x04 * (y))) 348 - /* RSCFDnCFDTMTCSTSp / RSCFDnTMTCSTSp */ 349 - #define RCANFD_TMTCSTS(y) (0x0370 + (0x04 * (y))) 350 - /* RSCFDnCFDTMTASTSp / RSCFDnTMTASTSp */ 351 - #define RCANFD_TMTASTS(y) (0x0380 + (0x04 * (y))) 352 - /* RSCFDnCFDTMIECy / RSCFDnTMIECy */ 353 - #define RCANFD_TMIEC(y) (0x0390 + (0x04 * (y))) 354 - 355 - /* RSCFDnCFDTXQCCm / RSCFDnTXQCCm */ 356 - #define RCANFD_TXQCC(m) (0x03a0 + (0x04 * (m))) 357 - /* RSCFDnCFDTXQSTSm / RSCFDnTXQSTSm */ 358 - #define RCANFD_TXQSTS(m) (0x03c0 + (0x04 * (m))) 359 - /* RSCFDnCFDTXQPCTRm / RSCFDnTXQPCTRm */ 360 - #define RCANFD_TXQPCTR(m) (0x03e0 + (0x04 * (m))) 361 - 362 - /* RSCFDnCFDTHLCCm / RSCFDnTHLCCm */ 363 - #define RCANFD_THLCC(m) (0x0400 + (0x04 * (m))) 364 - /* RSCFDnCFDTHLSTSm / RSCFDnTHLSTSm */ 365 - #define RCANFD_THLSTS(m) (0x0420 + (0x04 * (m))) 366 - /* RSCFDnCFDTHLPCTRm / RSCFDnTHLPCTRm */ 367 - #define RCANFD_THLPCTR(m) (0x0440 + (0x04 * (m))) 368 - 369 - /* RSCFDnCFDGTINTSTS0 / RSCFDnGTINTSTS0 */ 370 - #define RCANFD_GTINTSTS0 (0x0460) 371 - /* RSCFDnCFDGTINTSTS1 / RSCFDnGTINTSTS1 */ 372 - #define RCANFD_GTINTSTS1 (0x0464) 373 - /* RSCFDnCFDGTSTCFG / RSCFDnGTSTCFG */ 374 - #define RCANFD_GTSTCFG (0x0468) 375 - /* RSCFDnCFDGTSTCTR / RSCFDnGTSTCTR */ 376 - #define RCANFD_GTSTCTR (0x046c) 377 - /* RSCFDnCFDGLOCKK / RSCFDnGLOCKK */ 378 - #define RCANFD_GLOCKK (0x047c) 379 331 /* RSCFDnCFDGRMCFG */ 380 332 #define RCANFD_GRMCFG (0x04fc) 381 333 ··· 339 397 340 398 /* RSCFDnGAFLXXXj offset */ 341 399 #define RCANFD_C_GAFL_OFFSET (0x0500) 342 - 343 - /* RSCFDnRMXXXq -> RCANFD_C_RMXXX(q) */ 344 - #define RCANFD_C_RMID(q) (0x0600 + (0x10 * (q))) 345 - #define RCANFD_C_RMPTR(q) (0x0604 + (0x10 * (q))) 346 - #define RCANFD_C_RMDF0(q) (0x0608 + (0x10 * (q))) 347 - #define RCANFD_C_RMDF1(q) (0x060c + (0x10 * (q))) 348 400 349 401 /* RSCFDnRFXXx -> RCANFD_C_RFXX(x) */ 350 402 #define RCANFD_C_RFOFFSET (0x0e00) ··· 359 423 #define RCANFD_C_CFDF(ch, idx, df) \ 360 424 (RCANFD_C_CFOFFSET + 0x08 + (0x30 * (ch)) + (0x10 * (idx)) + (0x04 * (df))) 361 425 362 - /* RSCFDnTMXXp -> RCANFD_C_TMXX(p) */ 363 - #define RCANFD_C_TMID(p) (0x1000 + (0x10 * (p))) 364 - #define RCANFD_C_TMPTR(p) (0x1004 + (0x10 * (p))) 365 - #define RCANFD_C_TMDF0(p) (0x1008 + (0x10 * (p))) 366 - #define RCANFD_C_TMDF1(p) (0x100c + (0x10 * (p))) 367 - 368 - /* RSCFDnTHLACCm */ 369 - #define RCANFD_C_THLACC(m) (0x1800 + (0x04 * (m))) 370 - /* RSCFDnRPGACCr */ 371 - #define RCANFD_C_RPGACC(r) (0x1900 + (0x04 * (r))) 372 - 373 426 /* R-Car Gen4 Classical and CAN FD mode specific register map */ 374 427 #define RCANFD_GEN4_GAFL_OFFSET (0x1800) 375 428 ··· 376 451 377 452 /* RSCFDnCFDGAFLXXXj offset */ 378 453 #define RCANFD_F_GAFL_OFFSET (0x1000) 379 - 380 - /* RSCFDnCFDRMXXXq -> RCANFD_F_RMXXX(q) */ 381 - #define RCANFD_F_RMID(q) (0x2000 + (0x20 * (q))) 382 - #define RCANFD_F_RMPTR(q) (0x2004 + (0x20 * (q))) 383 - #define RCANFD_F_RMFDSTS(q) (0x2008 + (0x20 * (q))) 384 - #define RCANFD_F_RMDF(q, b) (0x200c + (0x04 * (b)) + (0x20 * (q))) 385 454 386 455 /* RSCFDnCFDRFXXx -> RCANFD_F_RFXX(x) */ 387 456 #define RCANFD_F_RFOFFSET(gpriv) ((gpriv)->info->regs->rfoffset) ··· 401 482 (RCANFD_F_CFOFFSET(gpriv) + 0x0c + (0x180 * (ch)) + (0x80 * (idx)) + \ 402 483 (0x04 * (df))) 403 484 404 - /* RSCFDnCFDTMXXp -> RCANFD_F_TMXX(p) */ 405 - #define RCANFD_F_TMID(p) (0x4000 + (0x20 * (p))) 406 - #define RCANFD_F_TMPTR(p) (0x4004 + (0x20 * (p))) 407 - #define RCANFD_F_TMFDCTR(p) (0x4008 + (0x20 * (p))) 408 - #define RCANFD_F_TMDF(p, b) (0x400c + (0x20 * (p)) + (0x04 * (b))) 409 - 410 - /* RSCFDnCFDTHLACCm */ 411 - #define RCANFD_F_THLACC(m) (0x6000 + (0x04 * (m))) 412 - /* RSCFDnCFDRPGACCr */ 413 - #define RCANFD_F_RPGACC(r) (0x6400 + (0x04 * (r))) 414 - 415 485 /* Constants */ 416 486 #define RCANFD_FIFO_DEPTH 8 /* Tx FIFO depth */ 417 487 #define RCANFD_NAPI_WEIGHT 8 /* Rx poll quota */ 418 488 419 489 #define RCANFD_NUM_CHANNELS 8 /* Eight channels max */ 420 - #define RCANFD_CHANNELS_MASK BIT((RCANFD_NUM_CHANNELS) - 1) 421 490 422 491 #define RCANFD_GAFL_PAGENUM(entry) ((entry) / 16) 423 492 #define RCANFD_CHANNEL_NUMRULES 1 /* only one rule per channel */