From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53E5BC001DC for ; Wed, 26 Jul 2023 10:12:36 +0000 (UTC) Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.96) (envelope-from ) id 1qObTn-0005we-2U; Wed, 26 Jul 2023 06:10:51 -0400 Received: from mail-il1-x12a.google.com ([2607:f8b0:4864:20::12a]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1qObTh-0005ad-2z for kernelnewbies@kernelnewbies.org; Wed, 26 Jul 2023 06:10:49 -0400 Received: by mail-il1-x12a.google.com with SMTP id e9e14a558f8ab-348db491d0eso11720105ab.3 for ; Wed, 26 Jul 2023 03:10:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690366229; x=1690971029; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PxbQfusGf71U1Ct+fJIULO1+6h49R2mYml2QU0HYtsw=; b=WhjgVBfCmgbaczus6ZsNsEM2hGrM0zO/eVAlECxwZRFIDSJgwJ67MUPbnSMM0T5EfV EFOE5dguoFh1ga1XNte91omsOlsG2GHm5RsXl6Vx09l6qIUvmv0L0BbZFCQA3ebOyZW0 9ZQ0DkiD4juz5BRLvvDzkNUOu4qslsTkxX3Qp8jfCsmWd8y5lEkN45EodFZtaKsyd3ih PfQsZOxiSFSivR9bk4S3TNxhT6s+y5EST6eeuGW8FTrW0h2qcsfVNFP+56ccSTt8af1o cvKjPkEx8hSWEpXumHokiQBJvYswdJPUt1hhe5Ar62um1MDwzfNXKzE2xORs7NDfbDfI zZhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690366229; x=1690971029; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PxbQfusGf71U1Ct+fJIULO1+6h49R2mYml2QU0HYtsw=; b=BhaApaBlvau0zSuQOqONww7h8dAmc6cnr3PFy0r44mvIW0FQ81MqTRpNMdrNFATIOX T1yaUUoy+3yjXxFb72DoYp5lXnC4mh147lJlXWN5iyjo54WE4NT5hleSnh9dHJ8RK8vy reSOcVlLZuo/sqgugdQHYWtgU0EfAb1unEq16OnNlxhd3rO39swoSsdvNE4aVTtZ1ubj Qf3jaW7LWnLEVNY3ZgK3uLRyKDGPWyhCoNRN3SsMclODfFso7Qsv4xcMNs3zljWRp0ZW V9k3BHYEQT4bPwTn+K/xF+D7GoowHiYcnARcGXGPJMrDQ5s09T1aHOTVZgOMBU/OQa0G p+GQ== X-Gm-Message-State: ABy/qLZJH3v6JVEOb8oxpk7pS19uPPnwDvKMeJxHSbPc6pKtuu8mKmKN MSbjwbmxhTChpnGAoshKRVzFsubtD26ftSFCMsd9Z2y3szU= X-Google-Smtp-Source: APBJJlFFvm51tKYzG930gf6u0k8ycTn1XPujcOBlC7BJXIHh5y+3XZFE7SDhQWqg+DTY8sgG7TpinLC6MoCXmGw8MsY= X-Received: by 2002:a05:6e02:1d9b:b0:348:f0a2:84e9 with SMTP id h27-20020a056e021d9b00b00348f0a284e9mr17470ila.15.1690366228595; Wed, 26 Jul 2023 03:10:28 -0700 (PDT) MIME-Version: 1.0 From: Tony He Date: Wed, 26 Jul 2023 18:10:17 +0800 Message-ID: Subject: GPIO and interrupt To: kernelnewbies@kernelnewbies.org X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: kernelnewbies-bounces@kernelnewbies.org Hi, I'm writing button driver. The button is based on GPIO.When the button is pressed or released, the interrupt is generated. According to the GPIO value(1 or 0) , I can know which action is taken(pressed or released). However, a question occurred to me. Do I need to consider when to get the GPIO value? I mean is it possible that GPIO value will be changed caused by another interrupt when I get the GPIO value in top or bottom half of first interrupt? I know the CPU is fast and pushing/releasing button is slow, so it should not happen in practice. But let's just consider this case in theory. You can assume the button is pushed or released very very fast. Seems that GPIO interrupt is special comparing with other device with cache. There is no cache to store data(GPIO value) for GPIO. Right? Can someone help to clarify this question? Thanks a lot. Tony _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies