From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753497Ab1IWLcp (ORCPT ); Fri, 23 Sep 2011 07:32:45 -0400 Received: from mga09.intel.com ([134.134.136.24]:31662 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753327Ab1IWLcn (ORCPT ); Fri, 23 Sep 2011 07:32:43 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="54926703" From: Andy Shevchenko To: linux-kernel@vger.kernel.org Cc: Andy Shevchenko , Takashi Iwai , alsa-devel@alsa-project.org Subject: [PATCH] alsa: 6fire: don't use custom hex_to_bin() Date: Fri, 23 Sep 2011 14:32:11 +0300 Message-Id: X-Mailer: git-send-email 1.7.6.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Andy Shevchenko Cc: Takashi Iwai Cc: alsa-devel@alsa-project.org --- sound/usb/6fire/firmware.c | 25 ++++++++++++------------- 1 files changed, 12 insertions(+), 13 deletions(-) diff --git a/sound/usb/6fire/firmware.c b/sound/usb/6fire/firmware.c index 3ebbdec..3b5f517 100644 --- a/sound/usb/6fire/firmware.c +++ b/sound/usb/6fire/firmware.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "firmware.h" #include "chip.h" @@ -60,21 +61,19 @@ struct ihex_record { unsigned int txt_offset; /* current position in txt_data */ }; -static u8 usb6fire_fw_ihex_nibble(const u8 n) -{ - if (n >= '0' && n <= '9') - return n - '0'; - else if (n >= 'A' && n <= 'F') - return n - ('A' - 10); - else if (n >= 'a' && n <= 'f') - return n - ('a' - 10); - return 0; -} - static u8 usb6fire_fw_ihex_hex(const u8 *data, u8 *crc) { - u8 val = (usb6fire_fw_ihex_nibble(data[0]) << 4) | - usb6fire_fw_ihex_nibble(data[1]); + u8 val = 0; + int hval; + + hval = hex_to_bin(data[0]); + if (hval >= 0) + val |= (hval << 4); + + hval = hex_to_bin(data[1]); + if (hval >= 0) + val |= hval; + *crc += val; return val; } -- 1.7.6.3