Unverified Commit 6985defd authored by Charles Keepax's avatar Charles Keepax Committed by Mark Brown
Browse files

regmap: sdw-mbq: Reorder regmap_mbq_context struct for better packing



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: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251107104551.1553526-1-ckeepax@opensource.cirrus.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent af9c8092
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -16,10 +16,11 @@
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)