intelfb: add preliminary i2c support
Adds code to unregister the I2C buses in the cleanup function. Signed-off-by: Dennis Munsie <dmunsie@cecropia.com>
This commit is contained in:
committed by
Dave Airlie
parent
1f6e8449e1
commit
7627899b11
@@ -367,6 +367,7 @@ extern int intelfb_var_to_depth(const struct fb_var_screeninfo *var);
|
|||||||
|
|
||||||
#ifdef CONFIG_FB_INTEL_I2C
|
#ifdef CONFIG_FB_INTEL_I2C
|
||||||
extern void intelfb_create_i2c_busses(struct intelfb_info *dinfo);
|
extern void intelfb_create_i2c_busses(struct intelfb_info *dinfo);
|
||||||
|
extern void intelfb_delete_i2c_busses(struct intelfb_info *dinfo);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _INTELFB_H */
|
#endif /* _INTELFB_H */
|
||||||
|
@@ -182,3 +182,19 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo)
|
|||||||
}
|
}
|
||||||
dinfo->num_outputs = i;
|
dinfo->num_outputs = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void intelfb_delete_i2c_busses(struct intelfb_info *dinfo)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < MAX_OUTPUTS; i++) {
|
||||||
|
if (dinfo->output[i].i2c_bus.dinfo) {
|
||||||
|
i2c_bit_del_bus(&dinfo->output[i].i2c_bus.adapter);
|
||||||
|
dinfo->output[i].i2c_bus.dinfo = NULL;
|
||||||
|
}
|
||||||
|
if (dinfo->output[i].ddc_bus.dinfo) {
|
||||||
|
i2c_bit_del_bus(&dinfo->output[i].ddc_bus.adapter);
|
||||||
|
dinfo->output[i].ddc_bus.dinfo = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -474,6 +474,11 @@ cleanup(struct intelfb_info *dinfo)
|
|||||||
agp_free_memory(dinfo->gtt_ring_mem);
|
agp_free_memory(dinfo->gtt_ring_mem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_FB_INTEL_I2C
|
||||||
|
/* un-register I2C bus */
|
||||||
|
intelfb_delete_i2c_busses(dinfo);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (dinfo->mmio_base)
|
if (dinfo->mmio_base)
|
||||||
iounmap((void __iomem *)dinfo->mmio_base);
|
iounmap((void __iomem *)dinfo->mmio_base);
|
||||||
if (dinfo->aperture.virtual)
|
if (dinfo->aperture.virtual)
|
||||||
|
Reference in New Issue
Block a user