diff mbox

fpga: fpga-region: comment on fpga_region_program_fpga locking

Message ID 20180125153922.3119-1-atull@kernel.org (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Alan Tull Jan. 25, 2018, 3:39 p.m. UTC
Add a comment to the header of fpga_region_program_fpga()
regarding locking of the bridges.

Signed-off-by: Alan Tull <atull@kernel.org>
---
 drivers/fpga/fpga-region.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Matthew Gerlach Jan. 25, 2018, 4:15 p.m. UTC | #1
On Thu, 25 Jan 2018, Alan Tull wrote:

Hi Alan,

I seem to remember issue coming up a couple of times.
I think this comment will be very helpful.

Matthew Gerlach

> Add a comment to the header of fpga_region_program_fpga()
> regarding locking of the bridges.
>
> Signed-off-by: Alan Tull <atull@kernel.org>
> ---
> drivers/fpga/fpga-region.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index edab2a2..cb0603e 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
>  * fpga_region_program_fpga - program FPGA
>  * @region: FPGA region
>  * Program an FPGA using fpga image info (region->info).
> + * If the region has a get_bridges function, the exclusive reference for the
> + * bridges will be held if programming succeeds.  This is intended to prevent
> + * reprogramming the region until the caller considers it safe to do so.
> + * The caller will need to call fpga_bridges_put() before attempting to
> + * reprogram the region.
>  * Return 0 for success or negative error code.
>  */
> int fpga_region_program_fpga(struct fpga_region *region)
> -- 
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Moritz Fischer Jan. 25, 2018, 7:09 p.m. UTC | #2
Hi Alan,

looks good.

On Thu, Jan 25, 2018 at 09:39:22AM -0600, Alan Tull wrote:
> Add a comment to the header of fpga_region_program_fpga()
> regarding locking of the bridges.
> 
> Signed-off-by: Alan Tull <atull@kernel.org>
Acked-by: Moritz Fischer <mdf@kernel.org>
> ---
>  drivers/fpga/fpga-region.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
> index edab2a2..cb0603e 100644
> --- a/drivers/fpga/fpga-region.c
> +++ b/drivers/fpga/fpga-region.c
> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
>   * fpga_region_program_fpga - program FPGA
>   * @region: FPGA region
>   * Program an FPGA using fpga image info (region->info).
> + * If the region has a get_bridges function, the exclusive reference for the
> + * bridges will be held if programming succeeds.  This is intended to prevent
> + * reprogramming the region until the caller considers it safe to do so.
> + * The caller will need to call fpga_bridges_put() before attempting to
> + * reprogram the region.
>   * Return 0 for success or negative error code.
>   */
>  int fpga_region_program_fpga(struct fpga_region *region)
> -- 
> 2.7.4
> 

- Moritz
Alan Tull Jan. 25, 2018, 7:20 p.m. UTC | #3
On Thu, Jan 25, 2018 at 1:09 PM, Moritz Fischer <mdf@kernel.org> wrote:
> Hi Alan,
>
> looks good.
>

Thanks, Moritz!

> On Thu, Jan 25, 2018 at 09:39:22AM -0600, Alan Tull wrote:
>> Add a comment to the header of fpga_region_program_fpga()
>> regarding locking of the bridges.
>>
>> Signed-off-by: Alan Tull <atull@kernel.org>
> Acked-by: Moritz Fischer <mdf@kernel.org>
>> ---
>>  drivers/fpga/fpga-region.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
>> index edab2a2..cb0603e 100644
>> --- a/drivers/fpga/fpga-region.c
>> +++ b/drivers/fpga/fpga-region.c
>> @@ -95,6 +95,11 @@ static void fpga_region_put(struct fpga_region *region)
>>   * fpga_region_program_fpga - program FPGA
>>   * @region: FPGA region
>>   * Program an FPGA using fpga image info (region->info).
>> + * If the region has a get_bridges function, the exclusive reference for the
>> + * bridges will be held if programming succeeds.  This is intended to prevent
>> + * reprogramming the region until the caller considers it safe to do so.
>> + * The caller will need to call fpga_bridges_put() before attempting to
>> + * reprogram the region.
>>   * Return 0 for success or negative error code.
>>   */
>>  int fpga_region_program_fpga(struct fpga_region *region)
>> --
>> 2.7.4
>>
>
> - Moritz
--
To unsubscribe from this list: send the line "unsubscribe linux-fpga" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
index edab2a2..cb0603e 100644
--- a/drivers/fpga/fpga-region.c
+++ b/drivers/fpga/fpga-region.c
@@ -95,6 +95,11 @@  static void fpga_region_put(struct fpga_region *region)
  * fpga_region_program_fpga - program FPGA
  * @region: FPGA region
  * Program an FPGA using fpga image info (region->info).
+ * If the region has a get_bridges function, the exclusive reference for the
+ * bridges will be held if programming succeeds.  This is intended to prevent
+ * reprogramming the region until the caller considers it safe to do so.
+ * The caller will need to call fpga_bridges_put() before attempting to
+ * reprogram the region.
  * Return 0 for success or negative error code.
  */
 int fpga_region_program_fpga(struct fpga_region *region)