]> Gentwo Git Trees - linux/.git/commitdiff
regmap: sdw-mbq: Reorder regmap_mbq_context struct for better packing
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Fri, 7 Nov 2025 10:45:51 +0000 (10:45 +0000)
committerMark Brown <broonie@kernel.org>
Fri, 7 Nov 2025 14:07:04 +0000 (14:07 +0000)
Avoid a hole in struct regmap_mbq_context by shuffling the members
slightly. Pahole before:

struct regmap_mbq_context {
        struct device *            dev;                  /*     0     8 */
        struct sdw_slave *         sdw;                  /*     8     8 */
        struct regmap_sdw_mbq_cfg  cfg;                  /*    16    32 */
        int                        val_size;             /*    48     4 */

        /* XXX 4 bytes hole, try to pack */

        bool                       (*readable_reg)(struct device *, unsigned int); /*    56     8 */

        /* size: 64, cachelines: 1, members: 5 */
        /* sum members: 60, holes: 1, sum holes: 4 */
};

Pahole after:

struct regmap_mbq_context {
        struct device *            dev;                  /*     0     8 */
        struct sdw_slave *         sdw;                  /*     8     8 */
        bool                       (*readable_reg)(struct device *, unsigned int); /*    16     8 */
        struct regmap_sdw_mbq_cfg  cfg;                  /*    24    32 */
        int                        val_size;             /*    56     4 */

        /* size: 64, cachelines: 1, members: 5 */
        /* padding: 4 */
};

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251107104551.1553526-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-sdw-mbq.c

index 86644bbd0710091881e8064f6469c11de595fe4d..225c158d7f9d7e5928b5ddd0637f32c07241e457 100644 (file)
 struct regmap_mbq_context {
        struct device *dev;
 
+       bool (*readable_reg)(struct device *dev, unsigned int reg);
+
        struct regmap_sdw_mbq_cfg cfg;
 
        int val_size;
-       bool (*readable_reg)(struct device *dev, unsigned int reg);
 };
 
 static int regmap_sdw_mbq_size(struct regmap_mbq_context *ctx, unsigned int reg)