On Sun, 2021-08-22 at 11:31 +0300, Andy Shevchenko wrote: > On Sun, Aug 22, 2021 at 6:00 AM Joe Perches <joe@xxxxxxxxxxx> wrote: > > > > Uppercase hex output of small char arrays is moderately frequently used. > > Add a mechanism to support the %*ph output as uppercase using 'X'. > > Besides the fact of existing hex_asc_upper_*(), what ABI (!) uses > this? If none, I dunno we need this. > And show at least a few users where we gain something after conversion. > There are at least a few uses that could be converted. For instance: diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 3faa87fa296a2..c56871e8ce1b7 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -743,13 +743,7 @@ static ssize_t unique_id_show(struct device *dev, } memcpy(sn, hdev->device_id, sizeof(sn)); spin_unlock_irqrestore(&h->lock, flags); - return snprintf(buf, 16 * 2 + 2, - "%02X%02X%02X%02X%02X%02X%02X%02X" - "%02X%02X%02X%02X%02X%02X%02X%02X\n", - sn[0], sn[1], sn[2], sn[3], - sn[4], sn[5], sn[6], sn[7], - sn[8], sn[9], sn[10], sn[11], - sn[12], sn[13], sn[14], sn[15]); + return snprintf(buf, 16 * 2 + 2, "%16phNX\n", sn); } static ssize_t sas_address_show(struct device *dev, and diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index ecb2af3f43ca3..eb39490b196cc 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -6674,13 +6674,7 @@ static ssize_t pqi_unique_id_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, - "%02X%02X%02X%02X%02X%02X%02X%02X" - "%02X%02X%02X%02X%02X%02X%02X%02X\n", - unique_id[0], unique_id[1], unique_id[2], unique_id[3], - unique_id[4], unique_id[5], unique_id[6], unique_id[7], - unique_id[8], unique_id[9], unique_id[10], unique_id[11], - unique_id[12], unique_id[13], unique_id[14], unique_id[15]); + return scnprintf(buffer, PAGE_SIZE, "%16phNX\n", unique_id); }