diff --git a/demo/src/server/liquid_framebuffer/services.cc b/demo/src/server/liquid_framebuffer/services.cc index aec55d37aa..7e326e9305 100644 --- a/demo/src/server/liquid_framebuffer/services.cc +++ b/demo/src/server/liquid_framebuffer/services.cc @@ -287,8 +287,6 @@ namespace Framebuffer return _window_content.fb_ds_cap(); } - void release() { } - Mode mode() const { return Mode(_window_content.mode_size().w(), diff --git a/libports/src/app/qt5/qt_avplay/framebuffer_session_component.cc b/libports/src/app/qt5/qt_avplay/framebuffer_session_component.cc index ea97849bcf..f4d5e39198 100644 --- a/libports/src/app/qt5/qt_avplay/framebuffer_session_component.cc +++ b/libports/src/app/qt5/qt_avplay/framebuffer_session_component.cc @@ -64,12 +64,6 @@ namespace Framebuffer { } - void Session_component::release() - { - _framebuffer.release(); - } - - Mode Session_component::mode() const { return _framebuffer.mode(); diff --git a/libports/src/app/qt5/qt_avplay/framebuffer_session_component.h b/libports/src/app/qt5/qt_avplay/framebuffer_session_component.h index b2ea637f2f..cf8b55814a 100644 --- a/libports/src/app/qt5/qt_avplay/framebuffer_session_component.h +++ b/libports/src/app/qt5/qt_avplay/framebuffer_session_component.h @@ -46,7 +46,6 @@ namespace Framebuffer { int max_height = 0); Genode::Dataspace_capability dataspace(); - void release(); Mode mode() const; void mode_sigh(Genode::Signal_context_capability sigh_cap); void refresh(int x, int y, int w, int h); diff --git a/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/window_slave_policy.h b/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/window_slave_policy.h index edc445fe88..91da284690 100644 --- a/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/window_slave_policy.h +++ b/libports/src/lib/qt5/qtbase/src/plugins/platforms/nitpicker/window_slave_policy.h @@ -99,8 +99,6 @@ class Window_slave_policy : public Genode::Slave_policy if (_framebuffer) Genode::env()->rm_session()->detach(_framebuffer); - session_client.release(); - Dataspace_capability framebuffer_ds = session_client.dataspace(); if (framebuffer_ds.valid()) { _framebuffer = Genode::env()->rm_session()->attach(framebuffer_ds); diff --git a/os/include/framebuffer_session/client.h b/os/include/framebuffer_session/client.h index 9225256193..a7abd170b4 100644 --- a/os/include/framebuffer_session/client.h +++ b/os/include/framebuffer_session/client.h @@ -27,8 +27,6 @@ namespace Framebuffer { Genode::Dataspace_capability dataspace() { return call(); } - void release() { call(); } - Mode mode() const { return call(); } void mode_sigh(Genode::Signal_context_capability sigh) { diff --git a/os/include/framebuffer_session/framebuffer_session.h b/os/include/framebuffer_session/framebuffer_session.h index 26044a9635..2166cf54eb 100644 --- a/os/include/framebuffer_session/framebuffer_session.h +++ b/os/include/framebuffer_session/framebuffer_session.h @@ -70,21 +70,18 @@ namespace Framebuffer { /** * Request dataspace representing the logical frame buffer + * + * By calling this function, the framebuffer client enables the server + * to reallocate the framebuffer dataspace (e.g., on mode changes). + * Hence, prior calling this function, the client should make sure to + * have detached the previously requested dataspace from its local + * address space. */ virtual Genode::Dataspace_capability dataspace() = 0; /** - * Release framebuffer, free dataspace - * - * By calling this function, the framebuffer client enables the server - * to reallocate the framebuffer dataspace on mode changes. Prior - * calling this function, the client should have detached the dataspace - * from its local address space. - */ - virtual void release() = 0; - - /** - * Request current display-mode properties + * Request display-mode properties of the framebuffer ready to be + * obtained via the 'dataspace()' function */ virtual Mode mode() const = 0; @@ -95,11 +92,9 @@ namespace Framebuffer { * fly. For example, a virtual framebuffer presented in a window may * get resized according to the window dimensions. By installing a * signal handler for mode changes, the framebuffer client can respond - * to such changes. From the client's perspective, the original mode - * stays in effect until the client calls 'release()'. After having - * released the framebuffer, the new mode can be obtained using the - * 'mode()' function and a new framebuffer dataspace can be requested - * by calling 'dataspace()'. + * to such changes. The new mode can be obtained using the 'mode()' + * function. However, from the client's perspective, the original mode + * stays in effect until the it calls 'dataspace()' again. */ virtual void mode_sigh(Genode::Signal_context_capability sigh) = 0; @@ -116,13 +111,11 @@ namespace Framebuffer { *********************/ GENODE_RPC(Rpc_dataspace, Genode::Dataspace_capability, dataspace); - GENODE_RPC(Rpc_release, void, release); GENODE_RPC(Rpc_mode, Mode, mode); GENODE_RPC(Rpc_refresh, void, refresh, int, int, int, int); GENODE_RPC(Rpc_mode_sigh, void, mode_sigh, Genode::Signal_context_capability); - GENODE_RPC_INTERFACE(Rpc_dataspace, Rpc_release, Rpc_mode, - Rpc_mode_sigh, Rpc_refresh); + GENODE_RPC_INTERFACE(Rpc_dataspace, Rpc_mode, Rpc_mode_sigh, Rpc_refresh); }; } diff --git a/os/include/platform/imx53/imx_framebuffer_session/client.h b/os/include/platform/imx53/imx_framebuffer_session/client.h index 384211675e..2928615af5 100644 --- a/os/include/platform/imx53/imx_framebuffer_session/client.h +++ b/os/include/platform/imx53/imx_framebuffer_session/client.h @@ -28,8 +28,6 @@ namespace Framebuffer { Genode::Dataspace_capability dataspace() { return call(); } - void release() { call(); } - Mode mode() const { return call(); } void mode_sigh(Genode::Signal_context_capability sigh) { diff --git a/os/src/drivers/framebuffer/exynos5/main.cc b/os/src/drivers/framebuffer/exynos5/main.cc index 620be7231b..e7b86a792a 100644 --- a/os/src/drivers/framebuffer/exynos5/main.cc +++ b/os/src/drivers/framebuffer/exynos5/main.cc @@ -90,8 +90,6 @@ class Framebuffer::Session_component Dataspace_capability dataspace() { return _ds; } - void release() { } - Mode mode() const { return Mode(_width, _height, _convert_format(_format)); diff --git a/os/src/drivers/framebuffer/imx53/main.cc b/os/src/drivers/framebuffer/imx53/main.cc index 608940ca07..475b9defde 100644 --- a/os/src/drivers/framebuffer/imx53/main.cc +++ b/os/src/drivers/framebuffer/imx53/main.cc @@ -69,7 +69,6 @@ class Framebuffer::Session_component : **************************************/ Dataspace_capability dataspace() { return _buffered ? _bb_ds : _fb_ds; } - void release() { } Mode mode() const { return _mode; } void mode_sigh(Genode::Signal_context_capability) { } diff --git a/os/src/drivers/framebuffer/omap4/main.cc b/os/src/drivers/framebuffer/omap4/main.cc index bb53d209e5..08c801e7b2 100644 --- a/os/src/drivers/framebuffer/omap4/main.cc +++ b/os/src/drivers/framebuffer/omap4/main.cc @@ -77,8 +77,6 @@ class Framebuffer::Session_component : public Genode::Rpc_object return _buffer ? _buffer->ds_cap() : Genode::Ram_dataspace_capability(); } - void release() { } - Mode mode() const { return _mode; diff --git a/qt4/src/app/qt_avplay/framebuffer_session_component.cc b/qt4/src/app/qt_avplay/framebuffer_session_component.cc index 28ca4ab588..d82b634d24 100644 --- a/qt4/src/app/qt_avplay/framebuffer_session_component.cc +++ b/qt4/src/app/qt_avplay/framebuffer_session_component.cc @@ -64,12 +64,6 @@ namespace Framebuffer { } - void Session_component::release() - { - _framebuffer.release(); - } - - Mode Session_component::mode() const { return _framebuffer.mode(); diff --git a/qt4/src/app/qt_avplay/framebuffer_session_component.h b/qt4/src/app/qt_avplay/framebuffer_session_component.h index b2ea637f2f..cf8b55814a 100644 --- a/qt4/src/app/qt_avplay/framebuffer_session_component.h +++ b/qt4/src/app/qt_avplay/framebuffer_session_component.h @@ -46,7 +46,6 @@ namespace Framebuffer { int max_height = 0); Genode::Dataspace_capability dataspace(); - void release(); Mode mode() const; void mode_sigh(Genode::Signal_context_capability sigh_cap); void refresh(int x, int y, int w, int h);