From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751196AbdEaQHP (ORCPT ); Wed, 31 May 2017 12:07:15 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:33691 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751015AbdEaQHN (ORCPT ); Wed, 31 May 2017 12:07:13 -0400 From: Bartosz Golaszewski To: Thomas Gleixner , Marc Zyngier , Jonathan Corbet Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 0/5] irq: generic-chip: resource management improvements Date: Wed, 31 May 2017 18:06:55 +0200 Message-Id: <1496246820-13250-1-git-send-email-brgl@bgdev.pl> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series is a follow-up to [1]. Some users of irq_alloc_generic_chip() are modules which can be removed (e.g. gpio-ml-ioh) but have no means of freeing the allocated generic chip. Last time it was suggested to provide irq_destroy_generic_chip() which would undo both irq_remove_generic_chip() and irq_alloc_generic_chip(). This functionality is provided by patch 2/5 with 1/5 adding the option to only free the allocated memory. Patch 3/5 exports a function that will be used in the devres variant of irq_alloc_generic_chip(). Patches 4/5 and 5/5 add resource managed versions of irq_alloc_generic_chip() & irq_setup_generic_chip(). They will be used in drivers where applicable. Device resources are released in reverse order so it's ok to call devm_irq_alloc_generic_chip() and then devm_irq_setup_generic_chip(). [1] https://lkml.org/lkml/2017/3/8/550 Bartosz Golaszewski (5): irq: generic-chip: provide irq_free_generic_chip() irq: generic-chip: provide irq_destroy_generic_chip() irq: generic-chip: export irq_init_generic_chip() locally irq: generic-chip: provide devm_irq_alloc_generic_chip() irq: generic-chip: provide devm_irq_setup_generic_chip() Documentation/driver-model/devres.txt | 2 + include/linux/irq.h | 22 +++++++++ kernel/irq/devres.c | 86 +++++++++++++++++++++++++++++++++++ kernel/irq/generic-chip.c | 7 ++- kernel/irq/internals.h | 11 +++++ 5 files changed, 124 insertions(+), 4 deletions(-) -- 2.9.3