History

ata: separate PATA timings code from libata-core.c

Separate PATA timings code from libata-core.c: * add PATA_TIMINGS config option and make corresponding PATA host drivers (and ATA ACPI code) select it * move following PATA timings code to libata-pata-timings.c: - ata_timing_quantize() - ata_timing_merge() - ata_timing_find_mode() - ata_timing_compute() * group above functions together in <linux/libata.h> * include libata-pata-timings.c in the build when PATA_TIMINGS config option is enabled * cover ata_timing_cycle2mode() with CONFIG_ATA_ACPI ifdef (it depends on code from libata-core.c and libata-pata-timings.c while its only user is ATA ACPI) Code size savings on m68k arch using (modified) atari_defconfig: text data bss dec hex filename before: 39688 573 40 40301 9d6d drivers/ata/libata-core.o after: 37820 572 40 38432 9620 drivers/ata/libata-core.o

Bartlomiej Zolnierkiewicz committed 6 years ago

Commit a9b2c121 parent 4e168185 files · +226 −187Browse files

Showing the changes to include/linux (1 of 5 files). Show all

Unified · Split

include/linux/libata.h+10−6
@@ -1205,12 +1205,6 @@ extern int ata_cable_unknown(struct ata_port *ap); · 1204 unmodified lines
12051205
12061206 /* Timing helpers */
12071207 extern unsigned int ata_pio_need_iordy(const struct ata_device *);
1208−extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode);
1209−extern int ata_timing_compute(struct ata_device *, unsigned short,
1210− struct ata_timing *, int, int);
1211−extern void ata_timing_merge(const struct ata_timing *,
1212− const struct ata_timing *, struct ata_timing *,
1213− unsigned int);
12141208 extern u8 ata_timing_cycle2mode(unsigned int xfer_shift, int cycle);
12151209
12161210 /* PCI */
@@ -1807,6 +1801,16 @@ static inline int ata_dma_enabled(struct ata_device *adev) · 590 unmodified lines
18071801 return (adev->dma_mode == 0xFF ? 0 : 1);
18081802 }
18091803
1804+/**************************************************************************
1805+ * PATA timings - drivers/ata/libata-pata-timings.c
1806+ */
1807+extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode);
1808+extern int ata_timing_compute(struct ata_device *, unsigned short,
1809+ struct ata_timing *, int, int);
1810+extern void ata_timing_merge(const struct ata_timing *,
1811+ const struct ata_timing *, struct ata_timing *,
1812+ unsigned int);
1813+
18101814 /**************************************************************************
18111815 * PMP - drivers/ata/libata-pmp.c
18121816 */