android_kernel_motorola_sm6225/drivers/ata
Arnd Bergmann ba6e23d2c9 ata: ahci: fix enum constants for gcc-13
commit f07788079f515ca4a681c5f595bdad19cfbd7b1d upstream.

gcc-13 slightly changes the type of constant expressions that are defined
in an enum, which triggers a compile time sanity check in libata:

linux/drivers/ata/libahci.c: In function 'ahci_led_store':
linux/include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)

The new behavior is that sizeof() returns the same value for the
constant as it does for the enum type, which is generally more sensible
and consistent.

The problem in libata is that it contains a single enum definition for
lots of unrelated constants, some of which are large positive (unsigned)
integers like 0xffffffff, while others like (1<<31) are interpreted as
negative integers, and this forces the enum type to become 64 bit wide
even though most constants would still fit into a signed 32-bit 'int'.

Fix this by changing the entire enum definition to use BIT(x) in place
of (1<<x), which results in all values being seen as 'unsigned' and
fitting into an unsigned 32-bit type.

Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107917
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107405
Reported-by: Luis Machado <luis.machado@arm.com>
Cc: linux-ide@vger.kernel.org
Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Cc: stable@vger.kernel.org
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Luis Machado <luis.machado@arm.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
[Backport to linux-4.19.y]
Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-08 11:22:21 +01:00
..
acard-ahci.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
ahci.c ata: libata: disallow dev-initiated LPM transitions to unsupported states 2023-10-10 21:45:00 +02:00
ahci.h ata: ahci: fix enum constants for gcc-13 2023-11-08 11:22:21 +01:00
ahci_brcm.c ata: ahci_brcm: Add back regulators management 2021-03-04 09:39:40 +01:00
ahci_ceva.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_da850.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_dm816.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_imx.c ata: ahci-imx: Fix MODULE_ALIAS 2022-11-03 23:52:24 +09:00
ahci_mtk.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_mvebu.c ata: ahci: mvebu: do Armada 38x configuration only on relevant SoCs 2019-12-05 09:21:06 +01:00
ahci_octeon.c
ahci_platform.c ata: Disable AHCI ALPM feature for Ampere Computing eMAG SATA 2019-11-20 18:46:06 +01:00
ahci_qoriq.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_seattle.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_st.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_sunxi.c ata: ahci_sunxi: Disable DIPM 2021-07-20 16:16:04 +02:00
ahci_tegra.c ata: add an extra argument to ahci_platform_get_resources() 2018-08-22 08:08:27 -07:00
ahci_xgene.c ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones 2023-10-10 21:44:56 +02:00
ata_generic.c
ata_piix.c ata_piix: constify pci_bits 2018-01-08 06:15:41 -08:00
Kconfig ata: ahci_brcm: Allow using driver or DSL SoCs 2019-11-24 08:19:33 +01:00
libahci.c ata: libahci: clear pending interrupt status 2023-10-10 21:44:56 +02:00
libahci_platform.c ata: libahci_platform: Sanity check the DT child nodes number 2022-10-26 13:19:40 +02:00
libata-acpi.c
libata-core.c ata: libata: disallow dev-initiated LPM transitions to unsupported states 2023-10-10 21:45:00 +02:00
libata-eh.c ata: libata-eh: Fix compilation warning in ata_eh_link_report() 2023-10-25 11:16:54 +02:00
libata-pmp.c libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set 2020-04-17 10:48:52 +02:00
libata-scsi.c ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES 2023-10-10 21:44:59 +02:00
libata-sff.c libata: fix ata_pio_sector for CONFIG_HIGHMEM 2021-08-12 13:19:44 +02:00
libata-trace.c
libata-transport.c ata: libata-core: Do not register PM operations for SAS ports 2023-10-10 21:45:00 +02:00
libata-transport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libata-zpodd.c libata: zpodd: Fix small read overflow in zpodd_get_mech_type() 2019-08-25 10:47:54 +02:00
libata.h ata: libata-core: Do not register PM operations for SAS ports 2023-10-10 21:45:00 +02:00
Makefile Merge branch 'for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2018-04-03 17:42:25 -07:00
pata_acpi.c
pata_ali.c ata: Deprecate pci_get_bus_and_slot() 2018-01-11 17:23:23 -06:00
pata_amd.c cs5536: add support for IDE controller variant 2017-08-11 10:35:07 -07:00
pata_arasan_cf.c pata_arasan_cf: fix IRQ check 2021-05-22 10:59:33 +02:00
pata_artop.c ata: pata_artop: remove redundant initialization of pio 2017-09-18 20:24:21 -07:00
pata_atiixp.c libata:pata_atiixp: Don't use unconnected secondary port on SB600 2018-01-08 04:02:02 -08:00
pata_atp867x.c ata: mark expected switch fall-throughs 2017-10-23 07:06:09 -07:00
pata_bk3710.c pata_bk3710: clarify license version and use SPDX header 2018-03-01 13:59:03 -08:00
pata_cmd64x.c
pata_cmd640.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pata_cs5520.c
pata_cs5530.c
pata_cs5535.c
pata_cs5536.c cs5536: add support for IDE controller variant 2017-08-11 10:35:07 -07:00
pata_cypress.c
pata_efar.c
pata_ep93xx.c pata_ep93xx: fix deferred probing 2021-07-20 16:15:47 +02:00
pata_falcon.c pata_falcon: clarify license version and use SPDX header 2018-03-01 13:58:17 -08:00
pata_ftide010.c ata: pata_ftide010: Add missing MODULE_DESCRIPTION 2023-09-23 10:48:14 +02:00
pata_gayle.c ata: add Amiga Gayle PATA controller driver 2018-03-19 07:41:36 -07:00
pata_hpt3x2n.c
pata_hpt3x3.c
pata_hpt37x.c ata: pata_hpt37x: fix PCI clock detection 2022-03-08 19:04:07 +01:00
pata_hpt366.c
pata_icside.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pata_imx.c Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2018-08-24 13:20:33 -07:00
pata_isapnp.c
pata_it821x.c pata_it821x: Delete an error message for a failed memory allocation in it821x_firmware_command() 2018-02-18 05:26:07 -08:00
pata_it8213.c
pata_ixp4xx_cf.c pata_ipx4xx_cf: Fix unsigned comparison with less than zero 2023-01-18 11:30:09 +01:00
pata_jmicron.c
pata_legacy.c ata: pata_legacy: fix pdc20230_set_piomode() 2022-11-10 17:46:51 +01:00
pata_macio.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
pata_marvell.c ata: pata_marvell: Check the 'bmdma_addr' beforing reading 2022-04-27 13:39:44 +02:00
pata_mpc52xx.c pata_mpc52xx: Delete an error message for a failed memory allocation in mpc52xx_ata_probe() 2018-02-18 05:23:25 -08:00
pata_mpiix.c
pata_netcell.c
pata_ninja32.c
pata_ns87410.c
pata_ns87415.c ata: pata_ns87415: mark ns87560_tf_read static 2023-08-11 11:45:32 +02:00
pata_octeon_cf.c ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe 2022-06-14 16:59:35 +02:00
pata_of_platform.c
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pata_pcmcia.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pata_pdc202xx_old.c
pata_pdc2027x.c ata: pata_pdc2027x: Replace mdelay with msleep 2018-01-25 07:28:31 -08:00
pata_piccolo.c
pata_platform.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pata_pxa.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
pata_radisys.c
pata_rb532_cf.c pata_rb532_cf: fix deferred probing 2021-07-20 16:15:47 +02:00
pata_rdc.c
pata_rz1000.c
pata_samsung_cf.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
pata_sc1200.c
pata_sch.c
pata_serverworks.c
pata_sil680.c
pata_sis.c
pata_sl82c105.c
pata_triflex.c
pata_via.c libata: remove ata_sff_data_xfer_noirq() 2018-07-11 10:45:28 -07:00
pdc_adma.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_dwc_460ex.c ata: sata_dwc_460ex: Fix crash due to OOB write 2022-04-15 14:15:06 +02:00
sata_fsl.c sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl 2021-12-08 08:50:12 +01:00
sata_gemini.c ata: sata_gemini: Add missing MODULE_DESCRIPTION 2023-09-23 10:48:14 +02:00
sata_gemini.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sata_highbank.c sata_highbank: fix deferred probing 2021-07-20 16:15:47 +02:00
sata_inic162x.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_mv.c ata: sata_mv: Fix the error handling of mv_chip_id() 2021-11-02 18:26:44 +01:00
sata_nv.c ata: sata_nv: Fix retrieving of active qcs 2020-11-05 11:08:38 +01:00
sata_promise.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_promise.h
sata_qstor.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_rcar.c ata: sata_rcar: Fix DMA boundary mask 2020-11-05 11:08:35 +01:00
sata_sil.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_sil24.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_sis.c
sata_svw.c ata: Convert to using %pOF instead of full_name 2017-07-18 18:02:36 -04:00
sata_sx4.c ata: make qc_prep return ata_completion_errors 2020-10-01 13:14:54 +02:00
sata_uli.c
sata_via.c sata_via: Enable optional hotplug on VT6420 2017-06-26 16:54:53 -04:00
sata_vsc.c
sis.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00