Commit 86c6bb0e authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Lee Jones
Browse files

mfd: core: Reorder fields in 'struct mfd_cell' to save some memory



Group some variables based on their sizes to reduce hole and avoid padding.
On x86_64, this shrinks the size from 144 to 128 bytes.

As an example:

$ size drivers/mfd/as3722.o (Before)
   text	   data	    bss	    dec	    hex	filename
   9441	    680	     16	  10137	   2799	drivers/mfd/as3722.o

$ size drivers/mfd/as3722.o (After)
   text	   data	    bss	    dec	    hex	filename
   9345	    680	     16	  10041	   2739	drivers/mfd/as3722.o

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/bb631974888dfe1af593b6280cf30fb913d2d1a4.1676365116.git.christophe.jaillet@wanadoo.fr
parent b09ed62f
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -78,6 +78,9 @@ struct mfd_cell {
	void			*platform_data;
	size_t			pdata_size;

	/* Matches ACPI */
	const struct mfd_cell_acpi_match	*acpi_match;

	/* Software node for the device. */
	const struct software_node *swnode;

@@ -97,9 +100,6 @@ struct mfd_cell {
	/* Set to 'true' to use 'of_reg' (above) - allows for of_reg=0 */
	bool use_of_reg;

	/* Matches ACPI */
	const struct mfd_cell_acpi_match	*acpi_match;

	/*
	 * These resources can be specified relative to the parent device.
	 * For accessing hardware you should use resources from the platform dev
@@ -119,8 +119,8 @@ struct mfd_cell {
	/* A list of regulator supplies that should be mapped to the MFD
	 * device rather than the child device when requested
	 */
	const char * const	*parent_supplies;
	int			num_parent_supplies;
	const char * const	*parent_supplies;
};

/*