On 23/06/2017 16:15, Dan Carpenter wrote:
phy->phy_type is a u64. We only ever use the first two bits so it's a
bit over kill perhaps.
Hi Dan,
Right, u64 is unneeded and u32 would suffice, so I think that would be a
more appropriate fix. And if we change hisi_sas_phy.phy_type to u32, I
would want to reorder this structure to improve packing efficiency.
I can make this change unless you really want to...
Thanks,
John
Anyway, let's declare the flags as ULL as well
because that lets us do things like "phy->phy_type &= ~PORT_TYPE_SAS;".
In the current code, static checkers complain that that would
unintentionally clear the high 32 bits as well.
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
index 4fc23087a939..b23245aeab74 100644
--- a/drivers/scsi/hisi_sas/hisi_sas.h
+++ b/drivers/scsi/hisi_sas/hisi_sas.h
@@ -56,8 +56,8 @@
struct hisi_hba;
enum {
- PORT_TYPE_SAS = (1U << 1),
- PORT_TYPE_SATA = (1U << 0),
+ PORT_TYPE_SAS = (1ULL << 1),
+ PORT_TYPE_SATA = (1ULL << 0),
};
enum dev_status {
.