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
1205 1205
1206/* Timing helpers */1206/* Timing helpers */
1207extern unsigned int ata_pio_need_iordy(const struct ata_device *);1207extern unsigned int ata_pio_need_iordy(const struct ata_device *);
1208extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode);
1209extern int ata_timing_compute(struct ata_device *, unsigned short,
1210 struct ata_timing *, int, int);
1211extern void ata_timing_merge(const struct ata_timing *,
1212 const struct ata_timing *, struct ata_timing *,
1213 unsigned int);
1214extern u8 ata_timing_cycle2mode(unsigned int xfer_shift, int cycle);1208extern u8 ata_timing_cycle2mode(unsigned int xfer_shift, int cycle);
1215 1209
1216/* PCI */1210/* PCI */
@@ -1807,6 +1801,16 @@ static inline int ata_dma_enabled(struct ata_device *adev) · 590 unmodified lines
1807 return (adev->dma_mode == 0xFF ? 0 : 1);1801 return (adev->dma_mode == 0xFF ? 0 : 1);
1808}1802}
1809 1803
1804/**************************************************************************
1805 * PATA timings - drivers/ata/libata-pata-timings.c
1806 */
1807extern const struct ata_timing *ata_timing_find_mode(u8 xfer_mode);
1808extern int ata_timing_compute(struct ata_device *, unsigned short,
1809 struct ata_timing *, int, int);
1810extern void ata_timing_merge(const struct ata_timing *,
1811 const struct ata_timing *, struct ata_timing *,
1812 unsigned int);
1813
1810/**************************************************************************1814/**************************************************************************
1811 * PMP - drivers/ata/libata-pmp.c1815 * PMP - drivers/ata/libata-pmp.c
1812 */1816 */