From patchwork Sat Aug 15 02:53:34 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magnus Damm X-Patchwork-Id: 41571 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7F2vohD001543 for ; Sat, 15 Aug 2009 02:57:59 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756087AbZHOC55 (ORCPT ); Fri, 14 Aug 2009 22:57:57 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756114AbZHOC55 (ORCPT ); Fri, 14 Aug 2009 22:57:57 -0400 Received: from mail-px0-f196.google.com ([209.85.216.196]:33564 "EHLO mail-px0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756087AbZHOC54 (ORCPT ); Fri, 14 Aug 2009 22:57:56 -0400 Received: by mail-px0-f196.google.com with SMTP id 34so527052pxi.4 for ; Fri, 14 Aug 2009 19:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:date:message-id :in-reply-to:references:subject; bh=X6kyufW1SoKoAQ1GoSxOcMkBszBGRuFhYgT0vijVNUo=; b=mtMr24EOiQ7DnVWDGilfVA8tK+mA6KVm6cLUnkDQ5ABRI0lN6z8f5tHppCKK8jbc1K tMMf5rRajdUtVtpRPTeqqIl7eedagogsaEoubpUKPEFXJ1VFbKMZ9q5g91uxaSEuRnXP 1BenMlIYNRxago4EYSJninRpebP3i8uniEfiQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:date:message-id:in-reply-to:references:subject; b=XIuDtwxPuOX+OBfDnrEJ8IbFX3PuvfbV25H3wVnFR7rfqLoltyvLOuW6ris7q3Ch08 NfXWve/+5y9laYLOhBf5Bu7P/xm/PIJB22QRIEo1m1mIy4TpOMFWELYew6+eQq1JN2NH wvYfug3GybYhsWlWvyAT1SKDR8YerqVBb0Gg0= Received: by 10.115.85.36 with SMTP id n36mr2429230wal.228.1250305078014; Fri, 14 Aug 2009 19:57:58 -0700 (PDT) Received: from rx1.opensource.se (210-225-125-011.jp.fiberphone.net [210.225.125.11]) by mx.google.com with ESMTPS id m30sm3387643wag.34.2009.08.14.19.57.56 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 14 Aug 2009 19:57:57 -0700 (PDT) From: Magnus Damm To: linux-sh@vger.kernel.org Cc: Magnus Damm , lethal@linux-sh.org Date: Sat, 15 Aug 2009 11:53:34 +0900 Message-Id: <20090815025334.8125.11818.sendpatchset@rx1.opensource.se> In-Reply-To: <20090815025307.8125.50234.sendpatchset@rx1.opensource.se> References: <20090815025307.8125.50234.sendpatchset@rx1.opensource.se> Subject: [PATCH 03/04] sh: use in-soc KEYSC on se7724 Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org From: Magnus Damm This patch updates the Solution Engine 7724 board code to use in-SoC KEYSC resources for the keyboard platform device. Using the in-SoC key scan controller fixes a crash-during-resume issue. Without this patch the KEYSC hardware block located in the board specific FPGA is used together with an external IRQ which is routed through the FPGA and handled by some board specific demux code. This board specific FPGA interrupt code does not implement desc->set_wake() so the enable_irq_wake() call in the sh_keysc driver will fail at suspend-to-ram time and the disable_irq_wake() will bomb out when resuming. Changing the platform data to use the in-SoC KEYSC hardware makes the se7724 board support code less special which is a good thing. Also, the board specific KEYSC pin setup code selects in-SoC pin functions already which makes the current FPGA platform device data look like a typo. Signed-off-by: Magnus Damm --- arch/sh/boards/mach-se/7724/setup.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- 0001/arch/sh/boards/mach-se/7724/setup.c +++ work/arch/sh/boards/mach-se/7724/setup.c 2009-08-13 13:03:26.000000000 +0900 @@ -246,7 +246,7 @@ static struct platform_device ceu1_devic }, }; -/* KEYSC */ +/* KEYSC in SoC (Needs SW33-2 set to ON) */ static struct sh_keysc_info keysc_info = { .mode = SH_KEYSC_MODE_1, .scan_timing = 10, @@ -263,12 +263,13 @@ static struct sh_keysc_info keysc_info = static struct resource keysc_resources[] = { [0] = { - .start = 0x1a204000, - .end = 0x1a20400f, + .name = "KEYSC", + .start = 0x044b0000, + .end = 0x044b000f, .flags = IORESOURCE_MEM, }, [1] = { - .start = IRQ0_KEY, + .start = 79, .flags = IORESOURCE_IRQ, }, };