Messages in this thread | | | Subject | Re: [PATCH] irqdomain: Add documentation for irq_create_of_mapping() | From | Marion & Christophe JAILLET <> | Date | Sat, 19 Dec 2020 22:34:07 +0100 |
| |
Le 18/12/2020 à 19:59, Marc Zyngier a écrit : > Hi Christophe, > > On Tue, 15 Dec 2020 20:07:47 +0000, > Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: >> Add a description for 'irq_create_of_mapping()' and make explicit the fact >> that the resources allocated by this function can be freed by calling >> 'irq_dispose_mapping()' when needed (i.e. error handling path, remove >> function, ...) >> >> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> >> --- >> The wording can certainly be improved. >> >> My goal is only to make clear if patches such as: >> https://lore.kernel.org/lkml/20201214202117.146293-1-christophe.jaillet@wanadoo.fr/ >> are needed or not. >> --- >> kernel/irq/irqdomain.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c >> index 6aacd342cd14..d761ece8d43e 100644 >> --- a/kernel/irq/irqdomain.c >> +++ b/kernel/irq/irqdomain.c >> @@ -858,6 +858,15 @@ unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec) >> } >> EXPORT_SYMBOL_GPL(irq_create_fwspec_mapping); >> >> +/** >> + * irq_create_of_mapping() - Map an interrupt > I think this deserves a bit more work. My immediate questions when > reading this are "map where? and to what?".
I won't be of great help here. I don't know this code enough to be able to provide an accurate description.
>> + * @irq_data: structure of_phandle_args returned by a previous >> + * of_irq_parse_xxx() call > That's not strictly true. A of_phandle_args structure can be created > from scratch (and numerous drivers do that). > >> + * >> + * The resources allocated by this function should be freed by >> + * calling irq_dispose_mapping() when the mapping if not useful >> + * anymore. > This really is a bit of documentation for irq_dispose_mapping(), isn't it?
Well, I don't agree.
I think it is easier to see that some resources need to be freed with a dedicated function if it is explained in the description of the function which allocates the resource.
CJ
> >> + */ >> unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data) >> { >> struct irq_fwspec fwspec; > Thanks, > > M. >
| |