* [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions
@ 2021-11-11 9:57 Mauro Carvalho Chehab
2021-11-11 9:57 ` [PATCH 2/2] media: atomisp-ov2680: remove some unused fields Mauro Carvalho Chehab
2021-11-11 10:03 ` [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Hans de Goede
0 siblings, 2 replies; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2021-11-11 9:57 UTC (permalink / raw)
Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab, Bhaskar Chowdhury,
Deepak R Varma, Greg Kroah-Hartman, Hans de Goede,
Mauro Carvalho Chehab, Randy Dunlap, Sakari Ailus, linux-kernel,
linux-media, linux-staging
There are several resolutions defined for this sensor, but just
two are currently uncommented. Change the driver to allow other
resolutions to also be used.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/staging/media/atomisp/i2c/ov2680.h | 159 ++++++++++++++++++++-
1 file changed, 153 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/media/atomisp/i2c/ov2680.h b/drivers/staging/media/atomisp/i2c/ov2680.h
index e53be612a1e4..ed68510bb0b9 100644
--- a/drivers/staging/media/atomisp/i2c/ov2680.h
+++ b/drivers/staging/media/atomisp/i2c/ov2680.h
@@ -282,7 +282,6 @@ static struct ov2680_reg const ov2680_global_setting[] = {
{}
};
-#if 0 /* None of the definitions below are used currently */
/*
* 176x144 30fps VBlanking 1lane 10Bit (binning)
*/
@@ -442,7 +441,7 @@ static struct ov2680_reg const ov2680_656x496_30fps[] = {
};
/*
- * 800x600 30fps VBlanking 1lane 10Bit (binning)
+ * 720x592 30fps VBlanking 1lane 10Bit (binning)
*/
static struct ov2680_reg const ov2680_720x592_30fps[] = {
{0x3086, 0x01},
@@ -637,7 +636,6 @@ static struct ov2680_reg const ov2680_1456x1096_30fps[] = {
// {0x5090, 0x0c},
{}
};
-#endif
/*
*1616x916 30fps VBlanking 1lane 10bit
@@ -680,9 +678,8 @@ static struct ov2680_reg const ov2680_1616x916_30fps[] = {
};
/*
- * 1612x1212 30fps VBlanking 1lane 10Bit
+ * 1616x1082 30fps VBlanking 1lane 10Bit
*/
-#if 0
static struct ov2680_reg const ov2680_1616x1082_30fps[] = {
{0x3086, 0x00},
{0x370a, 0x21},
@@ -718,7 +715,7 @@ static struct ov2680_reg const ov2680_1616x1082_30fps[] = {
{0x5081, 0x41},
{}
};
-#endif
+
/*
* 1616x1216 30fps VBlanking 1lane 10Bit
*/
@@ -774,6 +771,21 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.skip_frames = 3,
.regs = ov2680_1616x1216_30fps,
},
+ {
+ .desc = "ov2680_1616x1082_30fps",
+ .width = 1616,
+ .height = 1082,
+ .pix_clk_freq = 66,
+ .fps = 30,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_1616x1082_30fps,
+ },
{
.desc = "ov2680_1616x916_30fps",
.width = 1616,
@@ -789,6 +801,141 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.skip_frames = 3,
.regs = ov2680_1616x916_30fps,
},
+ {
+ .desc = "ov2680_1456x1096_30fps",
+ .width = 1456,
+ .height = 1096,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_1456x1096_30fps,
+ },
+ {
+ .desc = "ov2680_1296x976_30fps",
+ .width = 1296,
+ .height = 976,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_1296x976_30fps,
+ },
+ {
+ .desc = "ov2680_720p_30fps",
+ .width = 1280,
+ .height = 720,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_720p_30fps,
+ },
+ {
+ .desc = "ov2680_800x600_30fps",
+ .width = 800,
+ .height = 600,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_800x600_30fps,
+ },
+ {
+ .desc = "ov2680_720x592_30fps",
+ .width = 720,
+ .height = 592,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_720x592_30fps,
+ },
+ {
+ .desc = "ov2680_656x496_30fps",
+ .width = 656,
+ .height = 496,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_656x496_30fps,
+ },
+ {
+ .desc = "ov2680_QVGA_30fps",
+ .width = 336,
+ .height = 256,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_QVGA_30fps,
+ },
+ {
+ .desc = "ov2680_CIF_30fps",
+ .width = 352,
+ .height = 288,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_CIF_30fps,
+ },
+ {
+ .desc = "ov2680_QCIF_30fps",
+ .width = 176,
+ .height = 144,
+ .fps = 30,
+ .pix_clk_freq = 66,
+ .used = 0,
+ .pixels_per_line = 1698,//1704,
+ .lines_per_frame = 1294,
+ .bin_factor_x = 0,
+ .bin_factor_y = 0,
+ .bin_mode = 0,
+ .skip_frames = 3,
+ .regs = ov2680_QCIF_30fps,
+ },
};
#define N_RES_PREVIEW (ARRAY_SIZE(ov2680_res_preview))
--
2.33.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] media: atomisp-ov2680: remove some unused fields
2021-11-11 9:57 [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Mauro Carvalho Chehab
@ 2021-11-11 9:57 ` Mauro Carvalho Chehab
2021-11-11 10:03 ` [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Hans de Goede
1 sibling, 0 replies; 3+ messages in thread
From: Mauro Carvalho Chehab @ 2021-11-11 9:57 UTC (permalink / raw)
Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab, Bhaskar Chowdhury,
Deepak R Varma, Greg Kroah-Hartman, Hans Verkuil, Hans de Goede,
Mauro Carvalho Chehab, Randy Dunlap, Sakari Ailus, linux-kernel,
linux-media, linux-staging
The sensor resolution arrays have two unused fields. Drop them.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/staging/media/atomisp/i2c/ov2680.h | 26 ----------------------
1 file changed, 26 deletions(-)
diff --git a/drivers/staging/media/atomisp/i2c/ov2680.h b/drivers/staging/media/atomisp/i2c/ov2680.h
index ed68510bb0b9..cb3c37d1c38e 100644
--- a/drivers/staging/media/atomisp/i2c/ov2680.h
+++ b/drivers/staging/media/atomisp/i2c/ov2680.h
@@ -141,7 +141,6 @@ struct regval_list {
};
struct ov2680_resolution {
- u8 *desc;
const struct ov2680_reg *regs;
int res;
int width;
@@ -154,7 +153,6 @@ struct ov2680_resolution {
u8 bin_factor_x;
u8 bin_factor_y;
u8 bin_mode;
- bool used;
};
struct ov2680_format {
@@ -757,12 +755,10 @@ static struct ov2680_reg const ov2680_1616x1216_30fps[] = {
static struct ov2680_resolution ov2680_res_preview[] = {
{
- .desc = "ov2680_1616x1216_30fps",
.width = 1616,
.height = 1216,
.pix_clk_freq = 66,
.fps = 30,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -772,12 +768,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_1616x1216_30fps,
},
{
- .desc = "ov2680_1616x1082_30fps",
.width = 1616,
.height = 1082,
.pix_clk_freq = 66,
.fps = 30,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -787,12 +781,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_1616x1082_30fps,
},
{
- .desc = "ov2680_1616x916_30fps",
.width = 1616,
.height = 916,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -802,12 +794,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_1616x916_30fps,
},
{
- .desc = "ov2680_1456x1096_30fps",
.width = 1456,
.height = 1096,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -817,12 +807,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_1456x1096_30fps,
},
{
- .desc = "ov2680_1296x976_30fps",
.width = 1296,
.height = 976,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -832,12 +820,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_1296x976_30fps,
},
{
- .desc = "ov2680_720p_30fps",
.width = 1280,
.height = 720,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -847,12 +833,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_720p_30fps,
},
{
- .desc = "ov2680_800x600_30fps",
.width = 800,
.height = 600,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -862,12 +846,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_800x600_30fps,
},
{
- .desc = "ov2680_720x592_30fps",
.width = 720,
.height = 592,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -877,12 +859,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_720x592_30fps,
},
{
- .desc = "ov2680_656x496_30fps",
.width = 656,
.height = 496,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -892,12 +872,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_656x496_30fps,
},
{
- .desc = "ov2680_QVGA_30fps",
.width = 336,
.height = 256,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -907,12 +885,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_QVGA_30fps,
},
{
- .desc = "ov2680_CIF_30fps",
.width = 352,
.height = 288,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
@@ -922,12 +898,10 @@ static struct ov2680_resolution ov2680_res_preview[] = {
.regs = ov2680_CIF_30fps,
},
{
- .desc = "ov2680_QCIF_30fps",
.width = 176,
.height = 144,
.fps = 30,
.pix_clk_freq = 66,
- .used = 0,
.pixels_per_line = 1698,//1704,
.lines_per_frame = 1294,
.bin_factor_x = 0,
--
2.33.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions
2021-11-11 9:57 [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Mauro Carvalho Chehab
2021-11-11 9:57 ` [PATCH 2/2] media: atomisp-ov2680: remove some unused fields Mauro Carvalho Chehab
@ 2021-11-11 10:03 ` Hans de Goede
1 sibling, 0 replies; 3+ messages in thread
From: Hans de Goede @ 2021-11-11 10:03 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: linuxarm, mauro.chehab, Bhaskar Chowdhury, Deepak R Varma,
Greg Kroah-Hartman, Mauro Carvalho Chehab, Randy Dunlap,
Sakari Ailus, linux-kernel, linux-media, linux-staging
Hi,
On 11/11/21 10:57, Mauro Carvalho Chehab wrote:
> There are several resolutions defined for this sensor, but just
> two are currently uncommented. Change the driver to allow other
> resolutions to also be used.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thanks, series looks good to me:
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
for the series.
Regards,
Hans
> ---
> drivers/staging/media/atomisp/i2c/ov2680.h | 159 ++++++++++++++++++++-
> 1 file changed, 153 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/i2c/ov2680.h b/drivers/staging/media/atomisp/i2c/ov2680.h
> index e53be612a1e4..ed68510bb0b9 100644
> --- a/drivers/staging/media/atomisp/i2c/ov2680.h
> +++ b/drivers/staging/media/atomisp/i2c/ov2680.h
> @@ -282,7 +282,6 @@ static struct ov2680_reg const ov2680_global_setting[] = {
> {}
> };
>
> -#if 0 /* None of the definitions below are used currently */
> /*
> * 176x144 30fps VBlanking 1lane 10Bit (binning)
> */
> @@ -442,7 +441,7 @@ static struct ov2680_reg const ov2680_656x496_30fps[] = {
> };
>
> /*
> - * 800x600 30fps VBlanking 1lane 10Bit (binning)
> + * 720x592 30fps VBlanking 1lane 10Bit (binning)
> */
> static struct ov2680_reg const ov2680_720x592_30fps[] = {
> {0x3086, 0x01},
> @@ -637,7 +636,6 @@ static struct ov2680_reg const ov2680_1456x1096_30fps[] = {
> // {0x5090, 0x0c},
> {}
> };
> -#endif
>
> /*
> *1616x916 30fps VBlanking 1lane 10bit
> @@ -680,9 +678,8 @@ static struct ov2680_reg const ov2680_1616x916_30fps[] = {
> };
>
> /*
> - * 1612x1212 30fps VBlanking 1lane 10Bit
> + * 1616x1082 30fps VBlanking 1lane 10Bit
> */
> -#if 0
> static struct ov2680_reg const ov2680_1616x1082_30fps[] = {
> {0x3086, 0x00},
> {0x370a, 0x21},
> @@ -718,7 +715,7 @@ static struct ov2680_reg const ov2680_1616x1082_30fps[] = {
> {0x5081, 0x41},
> {}
> };
> -#endif
> +
> /*
> * 1616x1216 30fps VBlanking 1lane 10Bit
> */
> @@ -774,6 +771,21 @@ static struct ov2680_resolution ov2680_res_preview[] = {
> .skip_frames = 3,
> .regs = ov2680_1616x1216_30fps,
> },
> + {
> + .desc = "ov2680_1616x1082_30fps",
> + .width = 1616,
> + .height = 1082,
> + .pix_clk_freq = 66,
> + .fps = 30,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_1616x1082_30fps,
> + },
> {
> .desc = "ov2680_1616x916_30fps",
> .width = 1616,
> @@ -789,6 +801,141 @@ static struct ov2680_resolution ov2680_res_preview[] = {
> .skip_frames = 3,
> .regs = ov2680_1616x916_30fps,
> },
> + {
> + .desc = "ov2680_1456x1096_30fps",
> + .width = 1456,
> + .height = 1096,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_1456x1096_30fps,
> + },
> + {
> + .desc = "ov2680_1296x976_30fps",
> + .width = 1296,
> + .height = 976,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_1296x976_30fps,
> + },
> + {
> + .desc = "ov2680_720p_30fps",
> + .width = 1280,
> + .height = 720,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_720p_30fps,
> + },
> + {
> + .desc = "ov2680_800x600_30fps",
> + .width = 800,
> + .height = 600,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_800x600_30fps,
> + },
> + {
> + .desc = "ov2680_720x592_30fps",
> + .width = 720,
> + .height = 592,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_720x592_30fps,
> + },
> + {
> + .desc = "ov2680_656x496_30fps",
> + .width = 656,
> + .height = 496,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_656x496_30fps,
> + },
> + {
> + .desc = "ov2680_QVGA_30fps",
> + .width = 336,
> + .height = 256,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_QVGA_30fps,
> + },
> + {
> + .desc = "ov2680_CIF_30fps",
> + .width = 352,
> + .height = 288,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_CIF_30fps,
> + },
> + {
> + .desc = "ov2680_QCIF_30fps",
> + .width = 176,
> + .height = 144,
> + .fps = 30,
> + .pix_clk_freq = 66,
> + .used = 0,
> + .pixels_per_line = 1698,//1704,
> + .lines_per_frame = 1294,
> + .bin_factor_x = 0,
> + .bin_factor_y = 0,
> + .bin_mode = 0,
> + .skip_frames = 3,
> + .regs = ov2680_QCIF_30fps,
> + },
> };
>
> #define N_RES_PREVIEW (ARRAY_SIZE(ov2680_res_preview))
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-11-11 10:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-11 9:57 [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Mauro Carvalho Chehab
2021-11-11 9:57 ` [PATCH 2/2] media: atomisp-ov2680: remove some unused fields Mauro Carvalho Chehab
2021-11-11 10:03 ` [PATCH 1/2] media: atomisp-ov2680: uncomment other resolutions Hans de Goede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).