提交 0420dd12 编写于 作者: A Al Viro 提交者: Jeff Garzik

[PATCH] enum safety (sata_qstor)

sata_qstor strays into a nasty area - gcc handling of wide enums is
full of bugs that got fixed between gcc versions creating portability
nightmare.  Single-member enums are safe, so are ones that stay within
the range of int or unsigned int.  Anything beyond that is asking for
trouble.

Declaration of constants split in two enums, taking the ~0UL one into
a separate enum.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 b181d3b0
......@@ -51,8 +51,6 @@ enum {
QS_PRD_BYTES = QS_MAX_PRD * 16,
QS_PKT_BYTES = QS_CPB_BYTES + QS_PRD_BYTES,
QS_DMA_BOUNDARY = ~0UL,
/* global register offsets */
QS_HCF_CNFG3 = 0x0003, /* host configuration offset */
QS_HID_HPHY = 0x0004, /* host physical interface info */
......@@ -101,6 +99,10 @@ enum {
board_2068_idx = 0, /* QStor 4-port SATA/RAID */
};
enum {
QS_DMA_BOUNDARY = ~0UL
};
typedef enum { qs_state_idle, qs_state_pkt, qs_state_mmio } qs_state_t;
struct qs_port_priv {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册